提交时间:2022-08-04 09:30:59
运行 ID: 57221
#include<bits/stdc++.h> #define MAX 205 #define MIN 105 using namespace std; int n,v[MIN][MAX],l[MIN],sum; inline void dfs(int x,int y){ v[x][y]=0; if(x+1<=n&&v[x+1][y]) dfs(x+1,y); if(x-1>0&&v[x-1][y]) dfs(x-1,y); if(y+1<=l[x]&&v[x][y+1]) dfs(x,y+1); if(y-1>0&&v[x][y-1]) dfs(x,y-1); } int main(){ string s; scanf("%d",&n); getline(cin,s); for(int i(1);i<=n;++i){ getline(cin,s); l[i]=s.size(); for(int j(1);j<=l[i];++j) if('a'<=s[j-1]&&s[j-1]<='z') v[i][j]=1; } for(int i(1);i<=n;++i) for(int j(1);j<=l[i];++j) if(v[i][j]){ dfs(i,j); ++sum; } printf("%d",sum); }