博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第九届ECNU Coder F.蚂蚁(栈)
阅读量:6678 次
发布时间:2019-06-25

本文共 1863 字,大约阅读时间需要 6 分钟。

 题目链接:

 

题目:

  

F. 蚂蚁

Time limit per test: 0.5 seconds

Time limit all tests: 5.0 seconds

Memory limit: 256 megabytes

Accept / Submit: 112 / 336

水平线上有 N 只蚂蚁,每只蚂蚁的位置及大小均不同。他们沿着 X 轴爬行,有的向左,有的向右,爬行的速度是一样的,两只蚂蚁相遇大一点的会吃掉小的。

现在从左到右给出每只蚂蚁的大小和爬行的方向(0 表示向左,1 表示向右)。问足够长的时间之后,能剩下多少只蚂蚁?

Input

第 1 行:一个整数 N,表示蚂蚁的数量 (1N105)

第 2 到 N+1 行:每行两个数 Ai,Bi (1Ai109Bi{

0,1}),中间用空格分隔,分别表示蚂蚁的大小及爬
行的方向,Bi=0 表示向左,Bi=1 表示向右。

对于 3/8 的数据,存在 x 满足:所有坐标比 x 小的蚂蚁向左爬、坐标比 x 大的蚂蚁向右爬;或者所有坐标比 x 小的蚂蚁向右爬、坐标比 x 大的蚂蚁向左爬。

Output

输出最终剩下的蚂蚁的数量。

Examples

input
54 03 12 01 05 0
output
2

题解:

  可以通过简单的栈模拟,对于向左走的蚂蚁如果没有向右走的蚂蚁直接加入进栈,如果有,则比较大小,向左的蚂蚁大吃掉向右走的蚂蚁(pop),否则是被吃掉。

  对于向右走的直接加入栈中。

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
13 #include
14 using namespace std;15 #define pb push_back16 #define mp make_pair17 #define ms(a, b) memset((a), (b), sizeof(a))18 #define eps 0.000000119 typedef long long LL;20 typedef unsigned long long ULL;21 const int inf = 0x3f3f3f3f;22 const LL INF = 0x7fffffff;23 const int maxn = 1e5+10;24 const int mod = 1e9+7;25 int a[maxn];26 int b[maxn];27 void init() {28 29 }30 void solve() {31 int n, k, ans = 0;32 scanf("%d", &n);33 stack
s0;34 stack
s1;35 for(int i = 1;i<=n;i++){36 scanf("%d%d", &a[i], &b[i]);37 if(b[i] == 0){38 while(!s1.empty()&&a[i] > s1.top()){39 s1.pop();40 }41 if(s1.empty()){42 s0.push(a[i]);43 }44 }45 else{46 s1.push(a[i]);47 }48 }49 printf("%d\n", s0.size()+s1.size());50 }51 int main() {52 #ifdef LOCAL53 freopen("input.txt", "r", stdin);54 // freopen("output.txt", "w", stdout);55 #endif // LOCAL56 57 solve();58 59 return 0;60 }
View Code

 

 

你努力的时候,比你厉害的人也在努力。

转载于:https://www.cnblogs.com/denghaiquan/p/6885457.html

你可能感兴趣的文章
shell脚本之循环语句
查看>>
感到自己自私和无力
查看>>
更改EMC-Powerpath软件的路径工作模式
查看>>
软件管理
查看>>
[ Talk is Cheap Show me the CODE ] : jQuery Mobile
查看>>
LVM——逻辑卷管理
查看>>
离线安装gcc(CentOS7)
查看>>
客运车辆监管及运营平台
查看>>
eclipse添加注释
查看>>
贝叶斯估计和最大后验估计
查看>>
COBBLER无人值守安装
查看>>
基础知识--JAVA注解ElementType
查看>>
kickstart部署centos6.2 x86_64
查看>>
salt 的用户管理
查看>>
我封装的全文检索之solr篇
查看>>
NFC的第一次接触
查看>>
RHEL7 Connection closed by foreign host.
查看>>
Nodejs开发框架之Loopback介绍
查看>>
微信小程序下拉刷新使用整理
查看>>
ubuntu12.04禁用客人会话
查看>>