记录编号 31007 评测结果 AAAAA
题目名称 细胞个数 最终得分 100
用户昵称 GravatarYeehok 是否通过 通过
代码语言 C++ 运行时间 0.002 s
提交时间 2011-11-01 14:05:10 内存使用 0.29 MiB
显示代码纯文本
#include<cstdio>
using namespace std;
int m,n;
char str[101];
short cell[101][101]={{0}};
bool flag[101][101]={{false}};
void BFS(int x,int y)
{
	flag[x][y]=true;
	if(!flag[x+1][y]&&cell[x+1][y])
		BFS(x+1,y);
	if(!flag[x][y+1]&&cell[x][y+1])
		BFS(x,y+1);
	if(!flag[x-1][y]&&cell[x-1][y])
		BFS(x-1,y);
	if(!flag[x][y-1]&&cell[x][y-1])
		BFS(x,y-1);
}
int main()
{
	freopen("cellnum.in","r",stdin);
	freopen("cellnum.out","w",stdout);
	int i,j;
	scanf("%d %d\n",&m,&n);
	for(i=1;i<=m;i++)
	{
		scanf("%s\n",&str);
		for(j=0;j<n;j++)
		{
			cell[i][j+1]=int(str[j]-'0');
		}
	}
	int s=0;
	for(i=1;i<=m;i++)
	{
		for(j=1;j<=n;j++)
		{
			if(cell[i][j]&&!flag[i][j])
			{
				BFS(i,j);
				s++;
			}
		}
	}
	printf("%d\n",s);
	fclose(stdin);
	fclose(stdout);
	return (0);
}