Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
求救啊!!!!!!不知道为什么总是WA#include<iostream> #include<string> using namespace std; struct robot { int x,y; char orientation; }r[101]; struct operation { int id,repeat;char op; }o[101]; int main() { int cas,i,j,k,id,repeat,A,B,N,M; cin>>cas; char op; while(cas--) { cin>>A>>B; cin>>N>>M; for(i=1;i<=N;i++) { cin>>r[i].x>>r[i].y>>r[i].orientation; } int f=0; for(j=1;j<=M;j++) { cin>>o[j].id>>o[j].op>>o[j].repeat; } for(j=1;j<=M;j++) { id=o[j].id,op=o[j].op,repeat=o[j].repeat; if(op=='F') { if(r[id].orientation=='W') { for(k=1;k<=N;k++) { if(k!=id&&r[id].y==r[k].y&&r[id].x-r[k].x>0&&r[id].x-r[k].x<=repeat) { f=2; printf("Robot %d crashes into robot %d\n",id,k); break; } } if(f==2) break; r[id].x-=1*repeat; if(r[id].x<1) { f=1; printf("Robot %d crashes into the wall\n",id); break; } } else if(r[id].orientation=='E') { for(k=1;k<=N;k++) { if(k!=id&&r[id].y==r[k].y&&r[k].x-r[id].x>0&&r[k].x-r[id].x<=repeat) { f=2; printf("Robot %d crashes into robot %d\n",id,k); break;; } } if(f==2) break; r[id].x+=1*repeat; if(r[id].x>A) { printf("Robot %d crashes into the wall\n",id); f=1; break; } } else if(r[id].orientation=='N') { for(k=1;k<=N;k++) { if(k!=id&&r[id].x==r[k].x&&r[k].y-r[id].y>0&&r[k].y-r[id].y<=repeat) { f=2; printf("Robot %d crashes into robot %d\n",id,k); break; } } if(f==2) break; r[id].y+=1*repeat; if(r[id].y>B) { printf("Robot %d crashes into the wall\n",id); f=1; break; } } else if(r[id].orientation=='S') { for(k=1;k<=N;k++) { if(k!=id&&r[id].x==r[k].x&&r[id].y-r[k].y>0&&r[id].y-r[k].y<=repeat) { f=2; printf("Robot %d crashes into robot %d\n",id,k); break; } } if(f==2) break; r[id].y-=1*repeat; if(r[id].y<1) { printf("Robot %d crashes into the wall\n",id); f=1; break; } } }//end F else if(op=='L') { if(repeat%4==1) { if(r[id].orientation=='W') { r[id].orientation='S'; } else if(r[id].orientation=='S') { r[id].orientation='E'; } else if(r[id].orientation=='E') { r[id].orientation='N'; } else if(r[id].orientation=='N') { r[id].orientation='W'; } } else if(repeat%4==2) { if(r[id].orientation=='W') { r[id].orientation='E'; } else if(r[id].orientation=='S') { r[id].orientation='N'; } else if(r[id].orientation=='E') { r[id].orientation='W'; } else if(r[id].orientation=='N') { r[id].orientation='S'; } } else if(repeat%4==3) { if(r[id].orientation=='W') { r[id].orientation='N'; } else if(r[id].orientation=='S') { r[id].orientation='W'; } else if(r[id].orientation=='E') { r[id].orientation='S'; } else if(r[id].orientation=='N') { r[id].orientation='E'; } } } else if(op=='R') { if(repeat%4==1) { if(r[id].orientation=='W') { r[id].orientation='N'; } else if(r[id].orientation=='S') { r[id].orientation='W'; } else if(r[id].orientation=='E') { r[id].orientation='S'; } else if(r[id].orientation=='N') { r[id].orientation='E'; } } else if(repeat%4==2) { if(r[id].orientation=='W') { r[id].orientation='E'; } else if(r[id].orientation=='S') { r[id].orientation='N'; } else if(r[id].orientation=='E') { r[id].orientation='W'; } else if(r[id].orientation=='N') { r[id].orientation='S'; } } else if(repeat%4==3) { if(r[id].orientation=='W') { r[id].orientation='S'; } else if(r[id].orientation=='S') { r[id].orientation='E'; } else if(r[id].orientation=='E') { r[id].orientation='N'; } else if(r[id].orientation=='N') { r[id].orientation='W'; } } } } if(f==0)cout<<"OK"<<endl; } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator