Codeup墓地-2070
Codeup墓地-2070
src:http://codeup.cn/problem.php?id=2070
2070: 坠落的蚂蚁
时间限制: 1 Sec 内存限制: 32 MB
题目描述
一根长度为1米的木棒上有若干只蚂蚁在爬动。它们的速度为每秒一厘米或静止不动,方向只有两种,向左或者向右。如果两只蚂蚁碰头,则它们立即交换速度并继续爬动。三只蚂蚁碰头,则两边的蚂蚁交换速度,中间的蚂蚁仍然静止。如果它们爬到了木棒的边缘(0或100厘米处)则会从木棒上坠落下去。在某一时刻蚂蚁的位置各不相同且均在整数厘米处(即1,2,3,…99厘米),有且只有一只蚂蚁A速度为0,其他蚂蚁均在向左或向右爬动。给出该时刻木棒上的所有蚂蚁位置和初始速度,找出蚂蚁A从此时刻到坠落所需要的时间。
输入
第一行包含一个整数表示蚂蚁的个数N(2<=N<=99),之后共有N行,每一行描述一只蚂蚁的初始状态。每个初始状态由两个整数组成,中间用空格隔开,第一个数字表示初始位置厘米数P(1<=P<=99),第二个数字表示初始方向,-1表示向左,1表示向右,0表示静止。
输出
蚂蚁A从开始到坠落的时间。若不会坠落,输出“Cannot fall!”
样例输入
2
44 0
41 1
2
13 0
63 1
4
56 0
64 -1
85 -1
47 1
样例输出
59
Cannot fall!
85
提示
模拟题 注意蚂蚁排序
#include<bits/stdc++.h>
using namespace std;
const int MAX_N=105;
int n,m;
struct Node{int pos,sd;
}data[MAX_N];
bool cmp(Node a,Node b){return a.pos<b.pos;}
void solve(){bool hasTouchCenter=false;Node ans[MAX_N];int k=0,left=0,right=0,center;for(int i=1;i<=n;i++){if(data[i].sd==1&&!hasTouchCenter){//左边的往右走的蚂蚁ans[++k]=data[i];left++;}if(!data[i].sd){//中间的蚂蚁hasTouchCenter=true;ans[++k]=data[i];center=k;}if(data[i].sd==-1&&hasTouchCenter){//右边的往左走的蚂蚁ans[++k]=data[i];right++;}}if(left==right)printf("Cannot fall!\n");else if(left<right)printf("%d\n",ans[center+left+1].pos);else printf("%d\n",100-ans[center-right-1].pos);
}
int main(){while(~scanf("%d",&n)){for(int i=1;i<=n;i++)scanf("%d%d",&data[i].pos,&data[i].sd);sort(data+1,data+1+n,cmp);solve();}return 0;
}
Codeup墓地-2070相关推荐
- Codeup墓地-1123
Codeup墓地-1123 src:http://codeup.cn/problem.php?id=1123 1123: 确定排序序列 时间限制: 1 Sec 内存限制: 32 MB 题目描述 一个由 ...
- Codeup墓地-1107
Codeup墓地-1107 src:http://codeup.cn/problem.php?id=1107 1107: 欧几里得游戏 时间限制: 1 Sec 内存限制: 32 MB 题目描述 小明和 ...
- Codeup墓地1817号A+B
Codeup墓地链接:http://codeup.cn/ 本题链接:http://codeup.cn/problem.php?cid=100000575&pid=1 问题描述: 问题 B: A ...
- Codeup墓地-2337
Codeup墓地-2337 src:http://codeup.cn/problem.php?id=2337 2337: 阻击火箭队 时间限制: 1 Sec 内存限制: 32 MB 题目描述 小明很喜 ...
- Codeup墓地-1985
Codeup墓地-1985 src:http://codeup.cn/problem.php?id=1985 1985: 任务调度 时间限制: 1 Sec 内存限制: 32 MB 题目描述 读入任务调 ...
- Codeup墓地-2118
Codeup墓地-2118 src:http://codeup.cn/problem.php?id=2118 2118: 非常可乐 时间限制: 1 Sec 内存限制: 32 MB 题目描述 大家一定觉 ...
- Codeup墓地-1098
Codeup墓地-1098 src:http://codeup.cn/problem.php?id=1098 1098: 最少的交换 时间限制: 1 Sec 内存限制: 32 MB 题目描述 现在给你 ...
- Codeup墓地-2117
Codeup墓地-2117 src:http://codeup.cn/problem.php?id=2117 2117: 确定比赛名次 时间限制: 1 Sec 内存限制: 32 MB 题目描述 有N个 ...
- Codeup墓地-1104
Codeup墓地-1104 src:http://codeup.cn/problem.php?id=1104 1104: 棋盘问题 时间限制: 1 Sec 内存限制: 32 MB 题目描述 在一个给定 ...
最新文章
- java map 队列_Java:queue队列,map集合
- python 笔记 之 类的继承与重写
- JavaScript箭头函数(Arrow Function)
- 每日一皮:从头发数量看一个编程语言的行业地位...
- [总结] 网络流经典建模
- wxWidgets:wxStaticBox类用法
- PyTorch模型读写、参数初始化、Finetune
- redis 源码阅读
- java web空白xml_【图片】我做的JSP+Servlet程序,插入信息提交后出现空白页面,不知道是…【java吧】_百度贴吧...
- 前端代码有关搜索引擎的代码
- 2021-08-05学习日记
- ARM中断分析之二:裸机下面的中断处理
- java判断ftp创建目录是否成功_Java判断Ftp服务器目录是否存在,若不存在创建目录 ....
- beautifulsoup_BeautifulSoup爬虫了解一下
- 苹果收购Siri的八年,是成还是败?
- Docker、Mesos和Marathon剖析以及入门实战
- Windows PowerShell窗口下长ping+时间戳+记录log
- 2020湖南省技能竞赛获奖名单_2020技能竞赛丨湖南省职业院校技能竞赛我校赛点圆满闭幕...
- 电脑重装:微PE工具箱重装win10系统
- 技术博客|第15期:流媒体传输协议简介 - HLS协议