[测评记录](https://www.luogu.com.cn/record/109355145) 但过不了样例(祭)
by hzoi_Shadow @ 2023-05-01 21:33:23
@[Alex_Wei](/user/123294) 建议把样例加入数据
by zjx331 @ 2023-05-01 21:38:41
离谱
by zjx331 @ 2023-05-01 21:39:37
@[小粉兔](/user/10703)
by hzoi_Shadow @ 2023-05-01 21:41:54
@[The_Shadow_Dragon](/user/848964) 您没考虑空格吧
by CuFeO4 @ 2023-05-01 22:48:20
@[The_Shadow_Dragon](/user/848964) 目测你这行要运行 $n+1$ 遍。
> getline(cin,island[0]);
by STA_Morlin @ 2023-05-02 08:51:18
@[STA_Morlin](/user/347089) so?
by hzoi_Shadow @ 2023-05-02 09:13:03
@[yyx_yyx](/user/752441) 不需要考虑吧?
by hzoi_Shadow @ 2023-05-02 09:13:26
@[yyx_yyx](/user/752441) 改成这个就过了
```cpp
#include<bits/stdc++.h>
using namespace std;
int lens[501],f1[5]={0,1,-1,0,0},f2[5]={0,0,0,1,-1};
string island[501];
void dfs(int x,int y,int n)
{
int i,nx,ny;
island[x][y]='*';
for(i=1;i<=4;i++)
{
nx=x+f1[i],ny=y+f2[i];
if(1<=nx&&nx<=n&&0<=ny&&ny<=lens[nx]-1&&'a'<=island[nx][ny]&&island[nx][ny]<='z')
{
island[nx][ny]='*';
dfs(nx,ny,n);
}
}
}
int main()
{
int n,i,j,ans=0;
cin>>n;
getline(cin,island[0]);
for(i=1;i<=n;i++)
{
getline(cin,island[i]);
lens[i]=island[i].size();
}
for(i=1;i<=n;i++)
{
for(j=0;j<=lens[i]-1;j++)
{
if('a'<=island[i][j]&&island[i][j]<='z')
{
ans++;
dfs(i,j,n);
}
}
}
cout<<ans;
return 0;
}
by hzoi_Shadow @ 2023-05-02 09:50:56