提交全wa
查看原帖
提交全wa
1229346
yangyoulin楼主2023/12/16 09:47

#include "stdio.h"

#include "string.h"

int v[4][2]={{1,0},{0,1},{-1,0},{0,-1}};

int n,m,b[101][101];

char a[101][101];

void dfs(int x,int y)

{ int c,i,j;

for(c=0;c<=3;c++)

 {
 	i=x+v[c][0];
    
 	j=y+v[c][1];
    
 	if(i<0||j<0||i==n||j==m||b[i]
    
    [j]==1||a[i][j]=='0') continue;
    b[i][j]=1;
 	dfs(i,j);	
 }

} main() {

int i,j,s,x,y;

scanf("%d %d",&n,&m); getchar();

for(i=0;i<n;i++)
{ for(j=0;j<m;j++) 
scanf("%c",a[i]+j);
 getchar();
 a[i][j]='\0';
}
 for(i=0;i<n;i++)
  for(j=0;j<m;j++)
    {
    	if(a[i][j]!='0'&&b[i][j]==0)
    	 { b[i][j]=1;   s++; dfs(i,j);   }
    }
    printf("%d\n",s);

}

2023/12/16 09:47
加载中...