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相关推荐

  1. Codeup墓地-1123

    Codeup墓地-1123 src:http://codeup.cn/problem.php?id=1123 1123: 确定排序序列 时间限制: 1 Sec 内存限制: 32 MB 题目描述 一个由 ...

  2. Codeup墓地-1107

    Codeup墓地-1107 src:http://codeup.cn/problem.php?id=1107 1107: 欧几里得游戏 时间限制: 1 Sec 内存限制: 32 MB 题目描述 小明和 ...

  3. Codeup墓地1817号A+B

    Codeup墓地链接:http://codeup.cn/ 本题链接:http://codeup.cn/problem.php?cid=100000575&pid=1 问题描述: 问题 B: A ...

  4. Codeup墓地-2337

    Codeup墓地-2337 src:http://codeup.cn/problem.php?id=2337 2337: 阻击火箭队 时间限制: 1 Sec 内存限制: 32 MB 题目描述 小明很喜 ...

  5. Codeup墓地-1985

    Codeup墓地-1985 src:http://codeup.cn/problem.php?id=1985 1985: 任务调度 时间限制: 1 Sec 内存限制: 32 MB 题目描述 读入任务调 ...

  6. Codeup墓地-2118

    Codeup墓地-2118 src:http://codeup.cn/problem.php?id=2118 2118: 非常可乐 时间限制: 1 Sec 内存限制: 32 MB 题目描述 大家一定觉 ...

  7. Codeup墓地-1098

    Codeup墓地-1098 src:http://codeup.cn/problem.php?id=1098 1098: 最少的交换 时间限制: 1 Sec 内存限制: 32 MB 题目描述 现在给你 ...

  8. Codeup墓地-2117

    Codeup墓地-2117 src:http://codeup.cn/problem.php?id=2117 2117: 确定比赛名次 时间限制: 1 Sec 内存限制: 32 MB 题目描述 有N个 ...

  9. Codeup墓地-1104

    Codeup墓地-1104 src:http://codeup.cn/problem.php?id=1104 1104: 棋盘问题 时间限制: 1 Sec 内存限制: 32 MB 题目描述 在一个给定 ...

最新文章

  1. java map 队列_Java:queue队列,map集合
  2. python 笔记 之 类的继承与重写
  3. JavaScript箭头函数(Arrow Function)
  4. 每日一皮:从头发数量看一个编程语言的行业地位...
  5. [总结] 网络流经典建模
  6. wxWidgets:wxStaticBox类用法
  7. PyTorch模型读写、参数初始化、Finetune
  8. redis 源码阅读
  9. java web空白xml_【图片】我做的JSP+Servlet程序,插入信息提交后出现空白页面,不知道是…【java吧】_百度贴吧...
  10. 前端代码有关搜索引擎的代码
  11. 2021-08-05学习日记
  12. ARM中断分析之二:裸机下面的中断处理
  13. java判断ftp创建目录是否成功_Java判断Ftp服务器目录是否存在,若不存在创建目录 ....
  14. beautifulsoup_BeautifulSoup爬虫了解一下
  15. 苹果收购Siri的八年,是成还是败?
  16. Docker、Mesos和Marathon剖析以及入门实战
  17. Windows PowerShell窗口下长ping+时间戳+记录log
  18. 2020湖南省技能竞赛获奖名单_2020技能竞赛丨湖南省职业院校技能竞赛我校赛点圆满闭幕...
  19. 电脑重装:微PE工具箱重装win10系统
  20. 技术博客|第15期:流媒体传输协议简介 - HLS协议

热门文章

  1. Android获取物理键盘按键的keycode
  2. 一分钟了解python字符串常用的函数
  3. 浏览器相关(2)- 从输入url到页面展示发生了什么
  4. describe不要科学计数法
  5. 显示器可以远程管理Linux吗,Ubuntu 无显示器情况下的远程控制
  6. 计算机指法基础知识,计算机的基础知识及指法.ppt
  7. 第五章:断翼-虚拟机栈
  8. jquery中hasClass()作用
  9. 给家庭理财者的十条忠告
  10. 《天道》养成记:丁元英是如何做产品规划的?