https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1289

1289 大鱼吃小鱼 

题目来源: 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

先进后出就想到了用栈,把向右的都压入栈中,依次比较向左的

#include<iostream>
#include<string.h>
#include<algorithm>
#include<vector>
#include<stdio.h>
#include<map>
#include<math.h>
#include<stack>
#define inf 0x3f3f3f
#define ll long long
#define maxn 100000
using namespace std;
struct node
{int size;int direction;
}ac[maxn];
int main()
{int n,sum=0;cin>>n;stack<node>ac1;node  temp;while(!ac1.empty())ac1.pop();for(int i=0;i<n;i++){cin>>ac[i].size>>ac[i].direction;if(ac[i].direction==1)ac1.push(ac[i]);else{while(!ac1.empty()){temp=ac1.top();if(ac[i].size>temp.size) {ac1.pop();sum++;}else{sum++;break;}}}}cout<<n-sum<<endl;return 0;
}

51nod大鱼吃小鱼相关推荐

  1. 51nod大鱼吃小鱼问题

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

  2. 51Nod 1289 大鱼吃小鱼 栈的简单模拟

    传送门:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1289 emmmmmm-- 大概就是--①栈空:向左右,最终必然 ...

  3. 51nod -1289 . 大鱼吃小鱼(思维)

    1289 . 大鱼吃小鱼 题目来源: Codility 基准时间限制:1 秒 空间限制:65536 KB 分值: 5 有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右.游动的速度 ...

  4. 51Nod 1289:大鱼吃小鱼(模拟, 栈)

    https://www.51nod.com/Challenge/Problem.html#!#problemId=1289 有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右.游动 ...

  5. 51nod - 1289 大鱼吃小鱼(栈)

    思路: 向左走的可能会被向右走的吃,向右走的可能被向左的吃. 栈中存向右的小鱼. 如果当前鱼向左,则依次与栈顶鱼比较大小,如果能吃光则能存活:如果当前鱼向右,则加入栈. 最后栈中鱼的数量加上向左走存活 ...

  6. 51nod 1289 大鱼吃小鱼

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

  7. 51Nod-1289-大鱼吃小鱼

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

  8. 51Nod - 1289 大鱼吃小鱼

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

  9. 51nod 1617 奇偶数组

    传送门 回来看一眼51nod,发现自己掉到rank4了,赶紧切道题回rank3. 一眼不会做,这种东西应该慢慢找规律吧--然后看到数据范围其实比较小,应该是单次log的,那是不是可以分治啊. #inc ...

最新文章

  1. 2022-2028年中国聚硫橡胶行业市场研究及前瞻分析报告
  2. 转 spring配置文件
  3. java swing实现计算器_Java swing实现的计算器功能完整实例
  4. matlab读取文件夹下所有文件的字符串,MATLAB读取文件夹下所有文件的文件名并读取数据...
  5. 项目管理最佳实践方法_项目管理:控制项目进度最佳实践
  6. 计算机考研百天,2015考研计算机专业复习百天周计划
  7. randomized algorithms 有哪些_毛毯分类有哪些 毛毯的种类
  8. 5000字干货原创 | APP版本迭代如何避免踩坑?
  9. Git(二):Git的安装配置与基本使用
  10. mysql template sql_SpringBoot-JdbcTemplates-MySQL
  11. 怎么用wifi进e站_忘记wifi密码怎么办,用这招可以知道电脑中的wifi密码
  12. 大数据可视化平台有什么特点
  13. 平面图设计软件测试自学,CAD平面自学网教程
  14. 全国计算机研究所多少个,中国十大计算机名校是哪几所?
  15. 腾讯应用宝正式开启 比赛进行到第手游渠道
  16. 任泽平最新演讲:从这6个周期,读懂中国经济未来走势
  17. 海思lowlevel_init.S简单分析
  18. 执行力|学好这几步,让你的团队主动快速提升执行力
  19. shmget - 共享内存
  20. 优秀自我简介200字_自我介绍范文200字10篇

热门文章

  1. 基于JAVA教育培训机构信息管理系统计算机毕业设计源码+系统+lw文档+部署
  2. eclipse 切换java版本
  3. lammps教程:hcp类型晶格建模缺陷及解决方案
  4. 本地DNS服务器-Dnsmasq安装与配置
  5. 基于JAVA宠物店管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  6. 骨传导蓝牙耳机好不好用、四款热门骨传导耳机推荐
  7. 新调来的孤单曾庆婷老师
  8. Oracle11g(RAC)20210119补丁安装(32131250)
  9. JSFIDDLE 助力 Threejs 功能探秘
  10. html网页设计代码作业`餐饮美食-牛排(9页) 学生DW网页设计作业成品 美食肉类 进口食材课程设计网页规划与设计