Run ID | Author | Problem | Lang | Verdict | Score | Time | Memory | Code Length | Submit Time |
---|---|---|---|---|---|---|---|---|---|
127064 | 张泽辰 | 猫和老鼠 | C++ | Compile Error | 0 | 0 MS | 0 KB | 1117 | 2024-01-24 21:30:45 |
#include<bits/stdc++.h> using namespace std; int main() { int N,x,y,X,Y; cin>>N; for(int k=0;k<N;k++) { int m=0,c=0,count=0; string Map[10]; for(int j=0;j<10;j++) { cin>>Map[j]; } for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { if(Map[i][j]=="C") { X=i; Y=j; } else if(Map[i][j]=="M") { x=i; y=j; } } } while(count<100&&(X!=x||Y!=y)) { if(m==0&&x-1>=0&&Map[x-1][y]!="*") { x--; } else if(m==1&&y+1<10&&map[x][y+1]!="*") { y++; } else if(m==2&&x+1<10&&Map[x+1][y]!="*") { x++; } else if(m==3&&y-1>=0&&Map[x][y-1]!="*") { y--; } else { m=(++m)%4; } if(m==0&&x-1>=0&&Map[x-1][y]!="*") { X--; } else if(m==1&&y+1<10&&map[x][y+1]!="*") { Y++; } else if(m==2&&x+1<10&&Map[x+1][y]!="*") { X++; } else if(m==3&&y-1>=0&&Map[x][y-1]!="*") { Y--; } else { c=(++m)%4; } ++count; } prirntf("%d\n",(X==x&&Y==y)?count:-1); } return 0; }