Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
57587 陶俊宸 家族 C++ 通过 100 1 MS 792 KB 654 2022-08-05 19:17:50

Tests(10/10):


#include<iostream> #include<string> using namespace std; string im[100]; int n,ans; const int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0}; bool check(int x,int y){ return im[x][y]!='*'&&im[x][y]!=' '; } void flood_fill(int x,int y){ im[x][y]='*'; for(int i=0;i<4;i++){ int tx=x+dx[i],ty=y+dy[i]; if(tx>-1&&tx<n&&ty>-1&&ty<im[tx].size()&&check(tx,ty)) flood_fill(tx,ty); } } int main(){ scanf("%d",&n); getchar(); for(int i=0;i<n;i++) getline(cin,im[i]); for(int i=0;i<n;i++){ int len=im[i].size(); for(int j=0;j<len;j++){ if(check(i,j)){ ans++; flood_fill(i,j); } } } printf("%d",ans); return 0; }


测评信息: