首页 > 其他分享 >猫和老鼠

猫和老鼠

时间:2023-07-21 20:34:35浏览次数:45  
标签:std 猫和老鼠 int else -- &&

 


#include <iostream> using namespace std; int main(int argc, char** argv) { int N; cin>>N; int x,y,X,Y; int m=0,c=0,b=0; string a[10]; for(int q=0;q<N;q++){ string a[10]; for(int j=0;j<10;j++){ cin>>a[j]; } for(int i=0;i<10;i++){ for(int j=0;j<10;j++){ if(a[i][j]=='C'){ X=i; Y=j; }else if(a[i][j]=='M'){ x=i; y=j; } } } while(b<100 && (X!=x || Y!=y)){ if(m==0 && x-1>=0 && a[x-1][y]!='*'){ x--; }else if(m==1 && y+1<10 && a[x][y+1]!='*'){ y++; }else if(m==2 && x+1<10 && a[x+1][y]!='*'){ x++; }else if(m==3 && y-1>=0 && a[x][y-1]!='*'){ y--; }else{ m=(m+1)%4; } if(c==0 && X-1>=0 && a[X-1][Y]!='*'){ X--; }else if(c==1 && Y+1<10 && a[X][Y+1]!='*'){ Y++; }else if(c==2 && X+1<10 && a[X+1][Y]!='*'){ X++; }else if(c==3 && Y-1>=0 && a[X][Y-1]!='*'){ Y--; }else{ c=(c+1)%4; } b++; } if(X==x&&Y==y){ cout<<b<<endl; }else{ cout<<"-1"; } } return 0; }

  

标签:std,猫和老鼠,int,else,--,&&
From: https://www.cnblogs.com/fushuxuan/p/17572335.html

相关文章

  • 猫和老鼠
    #include<bits/stdc++.h>usingnamespacestd;intmain(intargc,char**argv){intc=0,m=0,s=0,N,x,y,X,Y;stringxyz[10];cin>>N;for(intV=0;V<N;V++){for(intO=0;O<10;O++){cin>>xyz[O];......
  • 猫和老鼠
    #include<iostream>usingnamespacestd;intmain(intargc,char**argv){intN;cin>>N;intx,y,X,Y;intm=0,c=0,b=0;stringa[10];for(intq=0;q<N;q++){stringa[10];for(intj=0;j<10;j++){......
  • 猫和老鼠
    #include<bits/stdc++.h>usingnamespacestd;intmain(intargc,char**argv){intN,x,y,X,Y;cin>>N;for(intk=0;k<N;k++){intm=0,c=0,count=0;stringMap[10];for(intj=0;j<10;j++){cin&......
  • 【每日一题】LeetCode 913.猫和老鼠(hard题)
    题目两位玩家分别扮演猫和老鼠,在一张无向图上进行游戏,两人轮流行动。图的形式是:graph[a]是一个列表,由满足ab是图中的一条边的所有节点b组成。老鼠从节点1开始,第一个出发;猫从节点2开始,第二个出发。在节点0处有一个洞。在每个玩家的行动中,他们必须沿着图中与所在当前......