记录编号 132863 评测结果 AAAAAAAAAA
题目名称 家族 最终得分 100
用户昵称 Gravatarztx 是否通过 通过
代码语言 C++ 运行时间 0.004 s
提交时间 2014-10-26 19:00:07 内存使用 0.33 MiB
显示代码纯文本
/*
	author :hzoi_ztx
	title  :cogs 1165. 家族
	ALG    :BFS
	CMT    :

	[2014 10 26]
*/

#include <cstdio>

#define  maxn  201
#define  maxm  201

int n , ans = 0 ;
bool g[maxn][maxm] = {0} ;

void floodfill(int x,int y) {
	g[x][y] = false ;
	if (x>0 && g[x-1][y]) floodfill(x-1,y) ;
	if (x<n && g[x+1][y]) floodfill(x+1,y) ;
	if (y>0 && g[x][y-1]) floodfill(x,y-1) ;
	if (y<200&&g[x][y+1]) floodfill(x,y+1) ;
}

int main() {
	#define READ
	#ifdef  READ
		freopen("family.in" ,"r",stdin ) ;
		freopen("family.out","w",stdout) ;
	#endif
	int i , j , ch ;
	scanf("%d", &n ) ;
	for (i = 1 ; i <= n ; i ++ ) {
		while (ch=getchar() , ch<' ') ;
		if (ch > '*') g[i][1] = true ;
		for (j=2,ch=getchar() ; ch>=' ' ; j++,ch=getchar() )
			if (ch > '*') g[i][j] = true ;
	}
	for (i = 1 ; i <= n ; i ++ )
	    for (j = 1 ; j < maxm ; j ++ )
	        if (g[i][j]) ans ++ , floodfill(i,j) ;
	printf("%d\n", ans ) ;
	#ifdef  READ
		fclose(stdin ) ;
		fclose(stdout) ;
	#else
	    getchar() ; getchar() ;
	#endif
	return 0 ;
}