1289 大鱼吃小鱼

题目来源: Codility
基准时间限制:1 秒 空间限制:131072 KB
有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右。游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼。从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右)。问足够长的时间之后,能剩下多少条鱼?
Input
第1行:1个数N,表示鱼的数量(1 <= N <= 100000)。
第2 - N + 1行:每行两个数A[i], B[i],中间用空格分隔,分别表示鱼的大小及游动的方向(1 <= A[i] <= 10^9,B[i] = 0 或 1,0表示向左,1表示向右)。
Output
输出1个数,表示最终剩下的鱼的数量。
Input示例
5
4 0
3 1
2 0
1 0
5 0
Output示例
2
思路:刚刚开始想还以为是贪心,发现有bug,就想是栈模拟;
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define esp 0.00000000001
#define pi 4*atan(1)
const int N=1e5+,M=1e6+,inf=1e9+,mod=1e9+;
int a[N];
stack<int>s;
int main()
{
int x,y,z,i,t;
int ans=;
scanf("%d",&x);
for(i=;i<x;i++)
{
scanf("%d%d",&a[i],&y);
if(y)
s.push(a[i]);
else
{
while(!s.empty())
{
if(a[i]>s.top())
{
ans++;
s.pop();
}
else
{
ans++;
break;
}
}
}
}
printf("%d\n",x-ans);
return ;
}

51nod 1289 大鱼吃小鱼 栈的更多相关文章

  1. 51Nod 1289 大鱼吃小鱼 栈模拟 思路

    1289 大鱼吃小鱼 栈模拟 思路 题目链接 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1289 思路: 用栈来模拟 ...

  2. 51Nod 1289 大鱼吃小鱼(模拟,经典好题)

    1289 大鱼吃小鱼             题目来源:             Codility                     基准时间限制:1 秒 空间限制:131072 KB 分值: ...

  3. 51nod 1289 大鱼吃小鱼

    #include<bits/stdc++.h> using namespace std; ; int a[maxn],b[maxn]; stack<int>s; int mai ...

  4. [51nod] 1289 大鱼吃小鱼 堆栈-模拟

    有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右.游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼.从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右).问足够长的时间之后 ...

  5. 1289 大鱼吃小鱼 1305 Pairwise Sum and Divide 1344 走格子 1347 旋转字符串 1381 硬币游戏

    1289 大鱼吃小鱼 有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右.游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼.从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右 ...

  6. 1289大鱼吃小鱼(STL中栈的应用)

    >>点击进入测试<< 有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右.游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼.从左到右给出每条鱼的大小和游动的方向 ...

  7. 51nod 1279 单调栈

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1279 1279 扔盘子 题目来源: Codility 基准时间限制:1 ...

  8. 51nod 1215 单调栈/迭代

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1215 1215 数组的宽度 题目来源: Javaman 基准时间限制:1 ...

  9. 51nod 1102 单调栈

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1102 1102 面积最大的矩形 基准时间限制:1 秒 空间限制:1310 ...

随机推荐

  1. Linux 入门介绍

    背景:最近在搞redis 集群  ,然后有时候会怀疑自己,那么问题来了, 怀疑自己就是自己不扎实!  记忆不好了!  写下来备份吧! 才入门时候总是会想 ,Linux 下面文件夹都是什么意思! bin ...

  2. spring cloud 微服务应用间通讯

    SpringCloud 应用间通信基于HTTP的Restful调用方式有两种,RestTemplate与Feign. 1.RestTemplate应用间通讯 通过 @LoadBalanced,可在re ...

  3. Windows下批处理文件(.bat)的使用

    cmd文件和bat文件的区别:在本质上两者没有区别,都是简单的文本编码方式,都可以用记事本创建.编辑和查看.两者所用的命令行代码也是共用的,只是cmd文件中允许使用的命令要比bat文件多.cmd文件只 ...

  4. 【python】-- Django 分页 、cookie、Session、CSRF

    Django  分页 .cookie.Session.CSRF 一.分页 分页功能在每个网站都是必要的,下面主要介绍两种分页方式: 1.Django内置分页 from django.shortcuts ...

  5. Python菜鸟之路:DOM基础

    前言 DOM 是 Document Object Model(文档对象模型)的缩写,定义了访问和操作 HTML 文档的标准方法.DOM把网页和脚本以及其他的编程语言联系了起来.DOM属于浏览器,而不是 ...

  6. getTrim(strMz)-我的JavaScript函数库-mazey.js

    因为一些旧版本的浏览器对于JS的trim()不支持,所以可以用正则代替此功能. 参数:strMz,字符串,必需. function getTrim(strMz) {    return strMz.r ...

  7. MiniUI 在线示例

    引用 http://miniui.com/demo/#src=datagrid/celledit.html

  8. pycharm 用鼠标滚动调整字体大小

  9. [转载]Spring中MultipartHttpServletRequest实现文件上传

    实现图片上传  用户必须能够上传图片,因此需要文件上传的功能.比较常见的文件上传组件有Commons FileUpload(http://jakarta.apache.org/commons/file ...

  10. CentOS Linux中zip压缩和unzip解压缩命令详解

    以下命令均在/home目录下操作cd /home  #进入/home目录1.把/home目录下面的mydata目录压缩为mydata.zip     zip -r  mydata.zip   myda ...