提交时间:2024-01-21 15:27:48
运行 ID: 121137
#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; } } }