Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
125639 | 凌愉晴 | 猫和老鼠 | C++ | 解答错误 | 40 | 0 MS | 264 KB | 1317 | 2024-01-23 19:17:40 |
#include <bits/stdc++.h> using namespace std; int main(int argc, char** argv) { int c=0,m=0,s=0,N,x,y,X,Y; string xyz[10]; cin>>N; for(int V=0;V<N;V++){ for(int O=0;O<10;O++){ cin>>xyz[O]; } } for(int i=0;i<10;i++){ for(int j=0;j<10;j++){ if(xyz[i][j]=='M'){ x=i; y=j; } if(xyz[i][j]=='C'){ X=i; Y=j; } } } while(s<100&&(X!=x||Y!=y)){ if(m==0&&x-1>=0&&xyz[x-1][y]!='*'){ x--; }else if(m==1&&y+1<10&&xyz[x][y+1]!='*'){ y++; }else if(m==2&&x+1<10&&xyz[x+1][y]!='*'){ x++; }else if(m==3&&y-1>=0&&xyz[x][y-1]!='*'){ y--; }else{ m=(m+1)%4; } s++; if(c==0&&X-1>=0&&xyz[X-1][Y]!='*'){ X--; }else if(c==1&&Y+1<10&&xyz[X][Y+1]!='*'){ Y++; }else if(c==2&&X+1<10&&xyz[X+1][Y]!='*'){ X++; }else if(c==3&&Y-1>=0&&xyz[X][Y-1]!='*'){ Y--; }else{ c=(c+1)%4; } } if(x==X&&y==Y){ cout<<s<<endl; }else{ cout<<"-1"<<endl; } return 0; }