寄录
#include<bits/stdc++.h>
using namespace std;
int n,tot=0;
char a[105][205];
bool vis[105][205];
int dx[5]={0,1,-1,0,0};
int dy[5]={0,0,0,1,-1};
string x;
void dfs(int x,int y){
vis[x][y]=true;
for(int i=1;i<=4;i++){
int tx=x+dx[i],ty=y+dy[i];
if(a[tx][ty]=='1'&&vis[tx][ty]==false){
dfs(tx,ty);
}
}
}
int main(){
cin>>n;
for(int i=0;i<=101;i++){
for(int j=0;j<=201;j++){
a[i][j]='*';
}
}
getline(cin,x);
for(int i=1;i<=n;i++){
getline(cin,x);
int len=x.size();
for(int j=0;j<len;j++){
if(x[j]==' '||x[j]=='*') a[i][j+1]='*';
else a[i][j+1]='1';
}
}
for(int i=1;i<=100;i++){
for(int j=1;j<=200;j++){
if(a[i][j]!='*'&&vis[i][j]==false){
tot++;
dfs(i,j);
}
}
}
cout<<tot<<endl;
return 0;
}