poj 2362 Crashing Robots
来源:互联网 发布:list去除重复数据 编辑:程序博客网 时间:2024/04/30 05:08
期末考完了 今天做了个水模拟。。。。。
#include<iostream>#include<algorithm>#include<string.h>#include<stack>#include<queue>#include<math.h>#include<cstdio>using namespace std;struct node{int x,y;char dir[2];}p[110];struct query{int num,re;char op[2];}q[110];int map[110][110];char f[5]={"NESW"};int n,m;bool iscrash_wall(node a){return (a.x<1 || a.x>n || a.y<1 || a.y>m);}int iscrash_robit(node a){return map[a.x][a.y];}int getdir(node a){if(a.dir[0]=='N')return 0;if(a.dir[0]=='E')return 1;if(a.dir[0]=='S')return 2;if(a.dir[0]=='W')return 3;}void go(node &s){if(s.dir[0]=='E')s.x += 1;else if(s.dir[0]=='W')s.x -= 1;else if(s.dir[0]=='N')s.y += 1;else s.y -= 1;}int move(int num,char *s,int re){node t;t.x=p[num].x;t.y=p[num].y;t.dir[0]=p[num].dir[0];if(s[0]=='F'){for(int i=0;i<re;i++){go(t);if(iscrash_wall(t) && !iscrash_robit(t))return 200;else if(iscrash_robit(t))return iscrash_robit(t);else {map[t.x][t.y]=num;map[p[num].x][p[num].y]=0;p[num]=t;}}}else if(s[0]=='L'){int tmp=re%4;p[num].dir[0]=f[(getdir(p[num])-tmp+4)%4];}else if(s[0]=='R'){int tmp=re%4;p[num].dir[0]=f[(getdir(p[num])+tmp+4)%4];}return 0;}int main(){int robit,ins;int num,re;int t;scanf("%d",&t);while(t--){scanf("%d%d",&n,&m);scanf("%d%d",&robit,&ins);memset(map,0,sizeof(map));for(int i=1;i<=robit;i++){scanf("%d%d%s",&p[i].x,&p[i].y,p[i].dir);map[p[i].x][p[i].y]=i;}bool flag=true;for(int i=0;i<ins;i++)scanf("%d%s%d",&q[i].num,q[i].op,&q[i].re);for(int i=0;i<ins;i++){int ret=move(q[i].num,q[i].op,q[i].re);if(ret==200){printf("Robot %d crashes into the wall\n",q[i].num);flag=0;}else if(ret>0 && ret<200){printf("Robot %d crashes into robot %d\n",q[i].num,ret);flag=0;}if(!flag) break;}if(flag) puts("OK");}return 0;}
- poj 2362 Crashing Robots
- Poj 2632 Crashing Robots
- poj 2632 Crashing Robots
- poj 2632 Crashing Robots
- poj-2632-Crashing Robots
- POJ 2632 Crashing Robots
- POJ 2632 Crashing Robots
- POJ 2632 Crashing Robots
- POJ 2632 Crashing Robots
- POJ-2632-Crashing Robots
- POJ 2632 Crashing Robots
- POJ 2632 Crashing Robots
- POJ 2632 Crashing Robots
- poj 2632 Crashing Robots
- POJ 2632 Crashing Robots
- poj -2632 Crashing Robots
- poj 2632 Crashing Robots
- POJ 2632 Crashing Robots
- SQL语句技巧
- 调试Shell脚本
- PowerDesigner导出ORACLE物理数据模型PDM
- 使用闭包对setTimeout进行简单封装
- 螳螂捕蝉黄雀在后
- poj 2362 Crashing Robots
- 初窥Linux 之 构建你的Linux“任务管理器”
- linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结
- Oracle RAC日常管理命令
- 关于struts2的配置文件,namespace的使用
- android版本判断
- 解读 IIS日志里状态为200 0 64出现的原因
- hadoop 1.03 安装配置
- Path Sum II