样例已过
#include<bits/stdc++.h>
using namespace std;
int n,j=1,s[107],f[107][207],zs=0;
char a[107][207],ch;
int x1[5]={0,0,1,0,-1};
int y1[5]={0,1,0,-1,0};
void dfs(int x,int y){
f[x][y]=1;
for(int i=1;i<=4;++i){
if(f[x+y1[i]][y+x1[i]]==0&&'a'<=a[x+y1[i]][y+x1[i]]&&a[x+y1[i]][y+x1[i]]<='z'){
dfs(x+y1[i],y+x1[i]);
}
}
}
int main(){
cin>>n;
ch=getchar();
for(int i=1;i<=n;++i){
j=1;
while((ch=getchar())!='\n'){
a[i][j]=ch;
s[i]++;
j++;
}
}
for(int i=1;i<=n;++i){
for(int k=1;k<=s[i];++k){
if(f[i][k]==0&&'a'<=a[i][k]&&a[i][k]<='z'){
zs++;
dfs(i,k);
}
f[i][k]=1;
}
}
cout<<zs;
return 0;
}