题目来源: Codility
基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
 收藏
 关注
有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

直接模拟栈即可,判断时注意别让stack大小可能为零时候取出栈顶元素操作会RE

#include<bits/stdc++.h>
using namespace std;
int main()
{
stack<int> S;
int n,a,b,m,i,j;
while(cin>>n){m=n;
while(!S.empty()) S.pop();
for(i=1;i<=n;++i){
cin>>a>>b;
if(b==1) S.push(a);
else{
if(!S.empty()){
if(S.top()>a) m--;
else{
while(!S.empty()&&S.top()<a) {S.pop();m--;}
if(!S.empty()) m--;
}
}
}
}
cout<<m<<endl;
}
return 0;
}

最新文章

  1. Python + OpenCV2 系列:2 - 图片操作
  2. Cocos2d-x中__Array容器以及实例介绍
  3. Delphi中TxmlDocument控件的用法 转
  4. 如何正确并完全安装Visual Studio 2015企业版本[转]
  5. hnsd11348tree(并查集)
  6. org.jawin.COMException: 8000ffff: Invalid ptr null flag(原址:http://osdir.com/ml/windows.devel.jawin/2006-01/msg00013.html)
  7. oracle数据库获取指定表的列的相关信息
  8. 2014-07-23 利用ASP.NET自带控件实现单文件上传与下载
  9. ORA-19815,ORA-19809 :limit exceeded for recovery files
  10. Redis集群明细文档(转)
  11. 【转】Apache 关于 mod_rewrite 遇到 %2F或%5C (正反斜杠)等特殊符号导致URL重写失效出现404的问题
  12. Xposed 学习笔记
  13. 关于BufferedReader的readLine方法遇到的坑
  14. Ubuntu 命令手册
  15. Scrapy安装报错
  16. SpringCloud笔记五:Feign
  17. 学习PYTHON之路, DAY 10 进程、线程、协程篇
  18. Android 基础 十一 Android的消息机制
  19. CTFlearn Inj3ction Time --sql注入python多线程脚本练习
  20. swagger netframework webapi

热门文章

  1. You don&#39;t have permission to access
  2. could not execute menu item系统找不到指定的文件
  3. Oracle HA 之 RAC one node实战
  4. 基于ArcGIS for Server的服务部署分析 分类: ArcGIS for server 云计算 2015-07-26 21:28 11人阅读 评论(0) 收藏
  5. DIY自己的GIS程序(2)——局部刷新
  6. python初识(三)
  7. Linux安装rpm包时报错Header V3 DSA/SHA1 Signature, key ID 1d1e034b: NOKEY解决办法
  8. mydumper安装
  9. 数据挖掘-关联分析 Apriori算法和FP-growth 算法
  10. MDI QMdiArea 多文档区域