提交时间:2022-08-03 20:58:27

运行 ID: 57145

#include <iostream> #include <string> #define SIZE 1500 using namespace std; string s; bool a[SIZE][SIZE]; int dx[4]={1,-1,0,0}; int dy[4]={0,0,1,-1}; void dfs(int x, int y){ int i; a[x][y]=false; for(i=0;i<4;i++) if(a[x+dx[i]][y+dy[i]]) dfs(x+dx[i],y+dy[i]); return; } int main(){ int n,m=0,i,j,t=0,l; cin>>n; for(i=0;i<=n;i++){ getline(cin,s); l=s.size(); m=max(m,l); for(j=0;j<l;j++){ if((s[j]>='a')&&(s[j]<='z')) a[i][j]=true; } } for(i=0;i<=n;i++){ for(j=0;j<m;j++){ if(a[i][j]){ dfs(i,j); t++; } } } cout<<t<<endl; return 0; }