提交时间:2022-08-11 18:36:30
运行 ID: 58373
#include<bits/stdc++.h> using namespace std; string s[110]; int n,ans; int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1}; void dfs(int x,int y){ s[x][y]='*'; for(int i=0;i<4;i++){ int tx=x+dx[i],ty=y+dy[i]; if(tx>=0&&tx<n && ty>=0&&ty<s[tx].size() && s[tx][ty]>='a' && s[tx][ty]<='z'){ dfs(tx,ty); } } } int main(){ cin>>n; getchar(); // 输入一个换行符 for(int i=0;i<n;i++){ getline(cin,s[i]); } for(int i=0;i<n;i++){ for(int j=0;j<s[i].size();j++){ if(s[i][j]>='a' && s[i][j]<='z'){ dfs(i,j); ans++; } } } cout<<ans<<endl; return 0; }