首页 > 其他 > 详细

ZJNU 2208 - 你渴望力量吗

时间:2020-01-27 19:55:21      阅读:72      评论:0      收藏:0      [点我收藏+]

在图的最外面套一层0(防止到头)

然后搜索图有多少块在

‘0‘有两块0,一块1

‘1‘有一块0,一块1

其余情况不存在

 1 #include<stdio.h>
 2 int n,m,z[2],dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};
 3 char s[102][103];
 4 void dfs(int x,int y){
 5     if(x<0||x>=n||y<0||y>=m)
 6         return;
 7     char c=s[x][y];
 8     s[x][y]=.;
 9     for(int i=0;i<4;i++){
10         int xx=x+dx[i],yy=y+dy[i];
11         if(s[xx][yy]==c)
12             dfs(xx,yy);
13     }
14 }
15 int main(){
16     int i,j;
17     while(~scanf("%d%d",&n,&m)){
18         n+=2;m+=2;
19         for(i=0;i<m;i++)
20             s[0][i]=s[n-1][i]=0;
21         for(i=1;i<n-1;i++){
22             scanf("%s",s[i]+1);
23             s[i][0]=s[i][m-1]=0;
24         }
25         for(z[0]=z[1]=i=0;i<n;i++)
26             for(j=0;j<m;j++)
27                 if(s[i][j]!=.){
28                     z[s[i][j]-0]++;
29                     dfs(i,j);
30                 }
31         if(z[0]==1&&z[1]==1)
32             puts("1");
33         else if(z[0]==2&&z[1]==1)
34             puts("0");
35         else
36             puts("-1");
37     }
38     
39     return 0;
40 }

 

ZJNU 2208 - 你渴望力量吗

原文:https://www.cnblogs.com/stelayuri/p/12236633.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!