不知道为什么#5少了一个QAQ
#include<bits/stdc++.h>
using namespace std;
int n,m,cnt,maxl;
bool ma[300][300];
int dx[4]={-1,0,1,0};
int dy[4]={0,-1,0,1};
string s;
void dfs(int x,int y)
{
ma[x][y]=0;
for(int i=0;i<4;i++)
{
int xx=x+dx[i];
int yy=y+dy[i];
if(xx<1||yy<1) continue;
if(ma[xx][yy]==0) continue;
dfs(xx,yy);
}
}
int main()
{
cin>>n;
getline(cin,s);
for(int i=1;i<=n;i++)
{
getline(cin,s);
for(int j=0;j<s.size()-1;j++)
if(s[j]<='z'&&s[j]>='a') ma[i][j+1]=1;
int l=s.size();
maxl=max(maxl,l);
}
int kk=s.size();
if(s[kk-1]<='z'&&s[kk-1]>='a') ma[n][kk]=1;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=maxl;j++)
{
if(ma[i][j]==1)
{
dfs(i,j);
cnt++;
}
}
}
cout<<cnt;
}