首页 > 代码库 > HDU5926 Mr. Frog’s Game

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 }

 

HDU5926 Mr. Frog’s Game