Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
121137 | 柯昊阳 | 猫和老鼠 | C++ | 通过 | 100 | 0 MS | 244 KB | 924 | 2024-01-21 15:27:48 |
#include <bits/stdc++.h> using namespace std; int main(){ int t; cin>>t; int cx,cy,sx,sy; for(int i = 0;i<t;i++){ string a[15]; for(int j = 0;j<10;j++){ cin>>a[j]; for(int k = 0;k<10;k++){ if(a[j][k]=='C'){ cx = j; cy = k; } if(a[j][k]=='M'){ sx = j; sy = k; } } } int cnt = 0; int dx[4] = {1,0,-1,0}; int dy[4] = {0,-1,0,1}; int cs = 2; int cc = 2; while(cnt<100){ if(sx+dx[cs]<0||sx+dx[cs]>9||sy+dy[cs]<0||sy+dy[cs]>9||a[sx+dx[cs]][sy+dy[cs]]=='*'){ cs = (cs+1)%4; } else{ sx+=dx[cs]; sy+=dy[cs]; } if(cx+dx[cc]<0||cx+dx[cc]>9||cy+dy[cc]<0||cy+dy[cc]>9||a[cx+dx[cc]][cy+dy[cc]]=='*'){ cc = (cc+1)%4; } else{ cx+=dx[cc]; cy+=dy[cc]; } cnt++; if(cx==sx&&sy==cy){ cout<<cnt<<endl; break; } } if(cnt>=100){ cout<<"-1"<<endl; } } }