博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 2632 Crashing Robots(大模拟)
阅读量:5150 次
发布时间:2019-06-13

本文共 3723 字,大约阅读时间需要 12 分钟。

总是敲错,死调,还好打之前想的如何实现想的挺清楚,可是敲的时候老出错,外加x轴和Y轴有点混淆了,调试了40+比打代码的时间都长。。还好1Y。

1 #include 
2 #include
3 int p[101][101],o[101][101]; 4 int x[4] = {-1,0,1,0}; 5 int y[4] = {
0,1,0,-1}; 6 int main() 7 { 8 int ti,n,m,a,b,i,j,k,sv,ev,nu,t,r,c,z,rr; 9 int kei,kej; 10 char la,di; 11 scanf("%d",&t); 12 while(t--) 13 { 14 memset(p,0,sizeof(p)); 15 memset(o,0,sizeof(o)); 16 scanf("%d%d",&a,&b); 17 scanf("%d%d",&n,&m); 18 for(i = 1; i <= n; i ++) 19 { 20 scanf("%d%*c%d%*c%c%*c",&sv,&ev,&di); 21 p[sv][ev] = i; 22 if(di == 'W') 23 o[sv][ev] = 0; 24 else if(di == 'N') 25 o[sv][ev] = 1; 26 else if(di == 'E') 27 o[sv][ev] = 2; 28 else if(di == 'S') 29 o[sv][ev] = 3; 30 } 31 z = 0; 32 for(i = 1; i <= m; i ++) 33 { 34 scanf("%d%*c%c%d%*c",&nu,&la,&ti); 35 if(!z) 36 { 37 for(j = 1; j <= a; j ++) 38 for(k = 1; k <= b; k ++) 39 { 40 if(p[j][k] == nu) 41 { 42 r = j; 43 c = k; 44 } 45 } 46 if(la == 'L') 47 { 48 for(k = 1; k <= ti; k ++) 49 { 50 if(o[r][c] == 0) 51 o[r][c] = 3; 52 else 53 o[r][c] --; 54 } 55 } 56 else if(la == 'R') 57 { 58 for(k = 1; k <= ti; k ++) 59 { 60 if(o[r][c] == 3) 61 o[r][c] = 0; 62 else 63 o[r][c] ++; 64 } 65 } 66 else if(la == 'F') 67 { 68 p[r][c] = 0; 69 rr = o[r][c]; 70 for(k = 1; k <= ti&&!z; k ++) 71 { 72 if(r+x[rr] <= a&&r+x[rr]>=1&&c+y[rr]<=b&&c+y[rr]>=1) 73 { 74 if(p[r+x[rr]][c+y[rr]] == 0) 75 p[r+x[rr]][c+y[rr]] = nu; 76 else 77 { 78 if(!z) 79 { 80 z = 2; 81 kei = nu; 82 kej = p[r+x[rr]][c+y[rr]]; 83 } 84 } 85 o[r+x[rr]][c+y[rr]] = o[r][c]; 86 p[r][c] = 0; 87 r = r+x[rr]; 88 c = c+y[rr]; 89 } 90 else 91 { 92 if(!z) z = 1; 93 kei = nu; 94 break; 95 } 96 } 97 } 98 } 99 }100 if(!z)101 printf("OK\n");102 else if(z == 1)103 printf("Robot %d crashes into the wall\n",kei);104 else if(z == 2)105 printf("Robot %d crashes into robot %d\n",kei,kej);106 }107 return 0;108 }

转载于:https://www.cnblogs.com/naix-x/archive/2012/07/14/2591652.html

你可能感兴趣的文章
http协议详解
查看>>
【每日scrum】第一次冲刺day5
查看>>
浏览器对属性兼容性支持力度查询网址
查看>>
Objective-C语法之NSSortDescriptor
查看>>
使用CSS进行定位
查看>>
C语言 链队列基本操作
查看>>
OO学习总结与体会
查看>>
虚拟机长时间不关造成的问题
查看>>
toString和valueOf的区别
查看>>
C#操作Excel(创建、打开、读写、保存)几种方法的总结
查看>>
校门外的树2 contest 树状数组练习 T4
查看>>
JS及JQ使用JSONP实现跨域调用必应搜索
查看>>
面试整理:Python基础
查看>>
Python核心编程——多线程threading和队列
查看>>
三次数模总结一下
查看>>
Py之np.concatenate函数【转载】
查看>>
【NOIP模拟】matrix(简化矩阵)
查看>>
e.preventDefault()和e.stopPropagation()以及return false的作用和区别
查看>>
洛谷 1571 眼红的Medusa
查看>>
[HEOI2016/TJOI2016]树
查看>>