ants
来源:互联网 发布:python数据挖掘 pdf 编辑:程序博客网 时间:2024/04/30 14:19
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;const int maxn=10005;struct Ant{ int id,p,d; //d表示朝向,-1表示左,0表示碰撞中,1表示右。 bool operator < (const Ant& S)const { return p<S.p; }} before[maxn],after[maxn];const char dirname[][10]={"L","Turning","R"};int order[maxn];int main(){ int K,cas=0;//cas=1 cin >> K; while(K--) { int L,T,n; printf("Case #%d\n:",++cas);//cas++ scanf("%d%d%d",&L, &T, &n); for(int i=0; i<n; i++) { int p,d; char c; scanf("%d %c",&p,&c); d=(c=='L'?-1:1); before[i]=(Ant){i,p,d}; after[i]=(Ant){0,p+T*d,d}; //所以的蚂蚁相撞后可以看做对穿而过 } sort(before,before+n); for(int i=0; i<n; i++) //最巧妙的地方在这里,第一次从左到右所有的蚂蚁的相对位置没有变化 order[before[i].id]=i; sort(after,after+n); for(int i=0; i<n-1; i++) if(after[i].p==after[i+1].p) after[i].d=after[i+1].d=0; for(int i=0; i<n; i++) { int a=order[i]; if(after[a].p>=0&&after[a].p<=L) { printf("%d %s\n",after[a].p,dirname[after[a].d+1]); } else printf("Fell off\n"); } puts(""); } return 0;}
0 0
- Ants
- Ants
- Ants
- Ants
- Ants
- Ants
- Ants
- Ants
- Ants
- Ants
- ants
- Ants
- Ants
- Ants
- Ants
- Ants
- zoj3279 Ants
- poj3565 Ants
- 操作系统的特性
- Spark入门遇见的问题1
- 朴素贝叶斯 python
- HDU 1054 Strategic Game By Assassin
- 历时八天,终于弄完了,此代码堪称完美,无懈可击,哈哈哈,图片库最终版js文件
- ants
- 数据库系列:索引总结
- CSS旋转图片
- springmvc postman
- D3D11教程八之FontEngine(字体实现)
- QPainter的使用(画国旗)
- 43. Multiply Strings
- 切饼
- SDUTACM 数据结构实验之栈三:后缀式求值