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 }