UVA1008 Piotr's Ants
2015-12-30 00:28
274 查看
找规律,模拟。
强行模拟会超时。
观察易发现,蚂蚁位置相对不变,只改变对应序号而已,不过要注意按照输入蚂蚁的顺序输出相对应蚂蚁的结果。另,仔细看条件,这次的空白行是每个测试案例之后,而非测试案例中间。
强行模拟会超时。
观察易发现,蚂蚁位置相对不变,只改变对应序号而已,不过要注意按照输入蚂蚁的顺序输出相对应蚂蚁的结果。另,仔细看条件,这次的空白行是每个测试案例之后,而非测试案例中间。
#include <bits/stdc++.h> using namespace std; const int maxn=10003; struct ant{ int a; int pre; char state; }ant[maxn]; bool cmp(struct ant a1,struct ant b1) { if(a1.a<b1.a) return true; return false; } bool cmp2(struct ant a2,struct ant b2) { if(a2.pre<b2.pre) return true; return false; } int main() { int kase; cin>>kase; for(int ii=1;ii<=kase;ii++){ //if(ii!=1) int shunxu[maxn]; int lon,time,n; cin>>lon>>time>>n; for(int i=0;i<n;i++){ cin>>ant[i].a>>ant[i].state; ant[i].pre=i; } sort(ant,ant+n,cmp); for(int i=0;i<n;i++){ shunxu[i]=ant[i].pre; } for(int i=0;i<n;i++){ if(ant[i].state=='L') ant[i].a-=time; else if(ant[i].state=='R') ant[i].a+=time; } sort(ant,ant+n,cmp); for(int i=0;i<n;i++){ ant[i].pre=shunxu[i]; } printf("Case #%d:\n",ii); sort(ant,ant+n,cmp2); for(int i=0;i<n;i++){ for(int l=0;l<n;l++){ if(i!=l&&ant[i].a==ant[l].a) { ant[i].state='T'; ant[l].state='T'; } } } for(int i=0;i<n;i++) { if(ant[i].a>lon||ant[i].a<0){ printf("Fell off\n"); continue; } if(ant[i].state!='T') printf("%d %c\n",ant[i].a,ant[i].state); else if(ant[i].state=='T') printf("%d Turning\n",ant[i].a); } cout<<endl; memset(shunxu,0,sizeof(shunxu)); memset(ant,0,sizeof(ant)); } }
相关文章推荐
- 寻宝游戏 - 利用iBeacon特性设计的iOS线下寻宝游戏 - 物联网小游戏
- 物联网大咖云集 智能体验玩个够——利尔达科技园开园庆典暨杭州第九届物联网高峰论坛
- 播放器 9.0以前的视屏播放 AVFoundation音乐播放 AudioToolbox音效播放
- AudioToolbox音效播放
- 树莓派(一)安装win10 IoT
- iotop 查看进程IO情况
- iotop 查看进程IO情况
- 2016年将成为新IT元年
- NRF51822 GPIOTE
- 对国产操作系统发展的一些思考
- 考拉社区想用物联网打破社区O2O必死魔咒!难吗?
- [编]IoT The Internet of Things (IoT) 物联网
- [转]四大巨头纷纷入局物联网,他们将如何出招?
- UVA 10881 - Piotr's Ants 蚂蚁
- 例题5 UVA 10881 蚂蚁(Piotr's Ants)
- Windows10 IoT 无线网卡支持
- 物联网碰壁后,这位创业者总结失败五大原因
- 浅析工业级物联网项目的快速开发
- 总结:ARM逻辑和高级C(朱老师物联网学习)
- 物联网随想二三事