HDU5926 Mr. Frog’s Game
1 /* 2 HDU5926 Mr. Frog’s Game 3 http://acm.hdu.edu.cn/showproblem.php?pid=5926 4 杂题水题 5 * 6 */ 7 #include <cstdio> 8 #include <algorithm> 9 using namespace std; 10 const int Nmax=35; 11 int t,n,m; 12 int mapp[Nmax][Nmax]; 13 int dx[]={0,1,-1,0,0}; 14 int dy[]={0,0,0,1,-1}; 15 int is() 16 { 17 for(int i=1;i<=m;i++) 18 for(int j=i+1;j<=m;j++) 19 if(mapp[1][i]==mapp[1][j] || mapp[n][i]==mapp[n][j]) 20 return 1; 21 for(int i=1;i<=n;i++) 22 for(int j=i+1;j<=n;j++) 23 if(mapp[i][1]==mapp[j][1] || mapp[i][m]==mapp[j][m]) 24 return 1; 25 for(int i=1;i<=n;i++) 26 for(int j=1;j<=m;j++) 27 for(int k=1;k<=4;k++) 28 { 29 int nowx=i+dx[k],nowy=j+dy[k]; 30 if(nowx>=1 && nowx<=n && nowy>=1 && nowy<=n) 31 if(mapp[nowx][nowy]==mapp[i][j]) 32 return 1; 33 } 34 return 0; 35 } 36 37 int main() 38 { 39 //freopen("in.in","r",stdin); 40 scanf("%d",&t); 41 for(int k=1;k<=t;k++) 42 { 43 printf("Case #%d: ",k); 44 scanf("%d%d",&n,&m); 45 for(int i=1;i<=n;i++) 46 { 47 for(int j=1;j<=m;j++) 48 scanf("%d",&mapp[i][j]); 49 } 50 if(is()) 51 printf("Yes\n"); 52 else 53 printf("No\n"); 54 } 55 return 0; 56 }