题目1159:坠落的蚂蚁
2017-04-19 22:52
169 查看
#include <cstdio> #include <cstdlib> #include <algorithm> #include <iostream> using namespace std; struct Ant { int pos; int dir; }; Ant ant[101]; int pos[101]; int cmp(const void *a, const void *b) { Ant at = *(Ant *)a; Ant bt = *(Ant *)b; return at.pos - bt.pos; } int main(int argc, char const *argv[]) { int n; //freopen("input.txt","r",stdin); while(scanf("%d",&n) != EOF) { for(int i = 0; i < n; i++) { scanf("%d %d",&ant[i].pos, &ant[i].dir); } qsort(ant, n, sizeof(Ant), cmp); int left = 0; int right = 0; int Apos; int state = 0; int j = 0; for(int i = 0; i < n; i++) { if(state == 0 && ant[i].dir == 1) { pos[j++] = ant[i].pos; left++; } else if(state == 0 && ant[i].dir == 0) { state = 1; Apos = j; pos[j++] = ant[i].pos; } else if(state == 1 && ant[i].dir == -1) { pos[j++] = ant[i].pos; right++; } } if(left == right) { puts("Cannot fall!"); continue; } else if(left > right) { int tmp = left - right; int ans = 100 - pos[tmp-1]; printf("%d\n",ans); } else { int tmp = right - left; int ans = pos[Apos + left+1]; printf("%d\n",ans); } } return 0; } /************************************************************** Problem: 1159 User: cust123 Language: C++ Result: Accepted Time:0 ms Memory:1520 kb ****************************************************************/
相关文章推荐
- 题目1159:坠落的蚂蚁
- 九度 oj 题目1159:坠落的蚂蚁
- 题目1159:坠落的蚂蚁
- 九度OJ 1159:坠落的蚂蚁 (模拟、排序)
- 九度OJ 1159:坠落的蚂蚁 (模拟、排序)
- 蓝桥杯往届试题——蚂蚁感冒(思维题目)
- hdu-题目1159:Common Subsequence
- NYOJ 题目745 蚂蚁的难题(二)(dp)
- 动态规划入门(三)DP 基本思想 具体实现 经典题目 POJ1159 POJ1458 POJ1141
- *最近培训的一个题目:蚂蚁爬竿
- 南阳理工OJ_题目745 蚂蚁的难题(二)&&题目983 首尾相连数组的最大子数组和
- NYOJ 题目944 蚂蚁的腿(水题,易错)
- 【DP/单调栈】关于单调栈的一些题目(codevs 1159,codevs 2673)
- 百度面试题目-5只蚂蚁
- 【DP/单调栈】关于单调栈的一些题目(codevs 1159,codevs 2673)
- hdu 题目1159 Common Subsequence(DP)
- 某摧残我两次的题目——蚂蚁
- 2014年第五届蓝桥杯预赛部分题目—蚂蚁感冒
- 坠落的蚂蚁
- NYOJ题目744蚂蚁的难题(一)(数学,不大懂)