记录编号 283139 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 [入门经典] 黑白图像 最终得分 100
用户昵称 Gravatar521 是否通过 通过
代码语言 C++ 运行时间 0.023 s
提交时间 2016-07-14 10:09:28 内存使用 0.26 MiB
显示代码纯文本
#include<stdio.h>
#include<string.h>
bool a[710][710]={0};
int n,dx[10]={0,-1,-1,-1,1,1,1,0,0},dy[10]={0,-1,0,1,-1,0,1,-1,1};
inline void read(bool &x)
{
	char ch;
	while(ch=getchar(),ch<'0'||ch>'9');
	if(ch-'0'==1) x=1;
	else x=0;
}
inline void dfs(int x,int y)
{
	for(int d=1;d<=8;d++){
		int temp_x=x+dx[d];
		int temp_y=y+dy[d];
		if(temp_x>0&&temp_x<=n&&temp_y>0&&temp_y<=n&&a[temp_x][temp_y]==1)
		  a[temp_x][temp_y]=0,dfs(temp_x,temp_y);
	}
	
}
int _521()
{
	freopen("common.in","r",stdin);
	freopen("common.out","w",stdout);
	int i,j,cnt=0;
	char A;
	scanf("%d",&n);
	for(i=1;i<=n;i++) for(j=1;j<=n;j++) read(a[i][j]);
	for(i=1;i<=n;i++)
	  for(j=1;j<=n;j++)
		if(a[i][j]==1)
		  a[i][j]=0,dfs(i,j),cnt++;
	printf("%d\n",cnt);
	return 0;
}
int _520=_521();
int main(){;}