51nod大鱼吃小鱼
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大鱼吃小鱼相关推荐
- 51nod大鱼吃小鱼问题
有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右.游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼.从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右).问足够长的时间之后 ...
- 51Nod 1289 大鱼吃小鱼 栈的简单模拟
传送门:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1289 emmmmmm-- 大概就是--①栈空:向左右,最终必然 ...
- 51nod -1289 . 大鱼吃小鱼(思维)
1289 . 大鱼吃小鱼 题目来源: Codility 基准时间限制:1 秒 空间限制:65536 KB 分值: 5 有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右.游动的速度 ...
- 51Nod 1289:大鱼吃小鱼(模拟, 栈)
https://www.51nod.com/Challenge/Problem.html#!#problemId=1289 有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右.游动 ...
- 51nod - 1289 大鱼吃小鱼(栈)
思路: 向左走的可能会被向右走的吃,向右走的可能被向左的吃. 栈中存向右的小鱼. 如果当前鱼向左,则依次与栈顶鱼比较大小,如果能吃光则能存活:如果当前鱼向右,则加入栈. 最后栈中鱼的数量加上向左走存活 ...
- 51nod 1289 大鱼吃小鱼
有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右.游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼.从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右).问足够长的时间之后 ...
- 51Nod-1289-大鱼吃小鱼
有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右.游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼.从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右).问足够长的时间之后 ...
- 51Nod - 1289 大鱼吃小鱼
有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右.游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼.从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右).问足够长的时间之后 ...
- 51nod 1617 奇偶数组
传送门 回来看一眼51nod,发现自己掉到rank4了,赶紧切道题回rank3. 一眼不会做,这种东西应该慢慢找规律吧--然后看到数据范围其实比较小,应该是单次log的,那是不是可以分治啊. #inc ...
最新文章
- 2022-2028年中国聚硫橡胶行业市场研究及前瞻分析报告
- 转 spring配置文件
- java swing实现计算器_Java swing实现的计算器功能完整实例
- matlab读取文件夹下所有文件的字符串,MATLAB读取文件夹下所有文件的文件名并读取数据...
- 项目管理最佳实践方法_项目管理:控制项目进度最佳实践
- 计算机考研百天,2015考研计算机专业复习百天周计划
- randomized algorithms 有哪些_毛毯分类有哪些 毛毯的种类
- 5000字干货原创 | APP版本迭代如何避免踩坑?
- Git(二):Git的安装配置与基本使用
- mysql template sql_SpringBoot-JdbcTemplates-MySQL
- 怎么用wifi进e站_忘记wifi密码怎么办,用这招可以知道电脑中的wifi密码
- 大数据可视化平台有什么特点
- 平面图设计软件测试自学,CAD平面自学网教程
- 全国计算机研究所多少个,中国十大计算机名校是哪几所?
- 腾讯应用宝正式开启 比赛进行到第手游渠道
- 任泽平最新演讲:从这6个周期,读懂中国经济未来走势
- 海思lowlevel_init.S简单分析
- 执行力|学好这几步,让你的团队主动快速提升执行力
- shmget - 共享内存
- 优秀自我简介200字_自我介绍范文200字10篇
热门文章
- 基于JAVA教育培训机构信息管理系统计算机毕业设计源码+系统+lw文档+部署
- eclipse 切换java版本
- lammps教程:hcp类型晶格建模缺陷及解决方案
- 本地DNS服务器-Dnsmasq安装与配置
- 基于JAVA宠物店管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
- 骨传导蓝牙耳机好不好用、四款热门骨传导耳机推荐
- 新调来的孤单曾庆婷老师
- Oracle11g(RAC)20210119补丁安装(32131250)
- JSFIDDLE 助力 Threejs 功能探秘
- html网页设计代码作业`餐饮美食-牛排(9页) 学生DW网页设计作业成品 美食肉类 进口食材课程设计网页规划与设计