#include #include using namespace std; int a[110][110]; struct Student { int x; int y; int m; }r[110]; int main() { int t,x,y,num,cmd; int i,j; char str[110]; int wu1[110],wu2[110],sji; while(~scanf("%d",&t)) { while(t--) { memset(a,0,sizeof(a)); scanf("%d %d",&x,&y); scanf("%d %d",&num,&cmd); for(i=0;iy)goto leap1; a[r[wu1[i]-1].x][r[wu1[i]-1].y]=wu1[i]; break; case 1: for(j=r[wu1[i]-1].x;j>=r[wu1[i]-1].x-wu2[i];j--) { if(j<1)goto leap1; if(a[j][r[wu1[i]-1].y]!=0) { sji=a[j][r[wu1[i]-1].y]; goto leap3; } } r[wu1[i]-1].x-=wu2[i]; a[r[wu1[i]-1].x][r[wu1[i]-1].y]=wu1[i]; break; case 2: for(j=r[wu1[i]-1].y;j>=r[wu1[i]-1].y-wu2[i];j--) { if(j<1)goto leap1; if(a[r[wu1[i]-1].x][j]!=0) { sji=a[r[wu1[i]-1].x][j]; goto leap3; } } r[wu1[i]-1].y-=wu2[i]; a[r[wu1[i]-1].x][r[wu1[i]-1].y]=wu1[i]; break; case 3: for(j=r[wu1[i]-1].x+1;j<=r[wu1[i]-1].x+wu2[i];j++) { if(a[j][r[wu1[i]-1].y]!=0) { sji=a[j][r[wu1[i]-1].y]; goto leap3; } } r[wu1[i]-1].x+=wu2[i]; if(r[wu1[i]-1].x>x)goto leap1; a[r[wu1[i]-1].x][r[wu1[i]-1].y]=wu1[i]; break; } } } printf("OK\n");continue; leap1:{printf("Robot %d crashes into the wall\n",wu1[i]);continue;} leap3:printf("Robot %d crashes into robot %d\n",wu1[i],sji); } } return 0; }