好像越界了吧qwq @[x1489631649](/user/780505)
by qym110809 @ 2023-12-03 21:01:28
```cpp
string s;
getline(cin,s);
l[i]=s.size();
for(int j=0;j<l[i];j++)
{
if(s[j]==' '||s[j]=='*')
a[i][j]=1;
else a[i][j]=0;
}
```
你看下这样行不行
by qym110809 @ 2023-12-03 21:03:40
```cpp
#include <bits/stdc++.h>
using namespace std;
int vis[1000][1000],l[1000],n,ans;
int a[1000][1000];
struct node{
int x,y;
}q[100000];
void bfs(int x,int y)
{
ans++;
int t,h;
t=h=1;
q[h].x=x;
q[h].y=y;
vis[q[h].x][q[h].y]=1;
while(h<=t)
{
int nx1=q[h].x+1,ny1=q[h].y;
int nx2=q[h].x-1,ny2=q[h].y;
int nx3=q[h].x,ny3=q[h].y+1;
int nx4=q[h].x,ny4=q[h].y-1;
if(nx1<=n&&nx1>=1&&ny1<=l[q[h].x]&&ny1>=1&&vis[nx1][ny1]==0&&a[nx1][ny1]==0)
{
t++;
q[t].x=nx1;
q[t].y=ny1;
vis[nx1][ny1]=1;
}
if(nx2<=n&&nx2>=1&&ny2<=l[q[h].x]&&ny2>=1&&vis[nx2][ny2]==0&&a[nx2][ny2]==0)
{
t++;
q[t].x=nx2;
q[t].y=ny2;
vis[nx2][ny2]=1;
}
if(nx3<=n&&nx3>=1&&ny3<=l[q[h].x]&&ny3>=1&&vis[nx3][ny3]==0&&a[nx3][ny3]==0)
{
t++;
q[t].x=nx3;
q[t].y=ny3;
vis[nx3][ny3]=1;
}
if(nx4<=n&&nx4>=1&&ny4<=l[q[h].x]&&ny4>=1&&vis[nx4][ny4]==0&&a[nx4][ny4]==0)
{
t++;
q[t].x=nx4;
q[t].y=ny4;
vis[nx4][ny4]=1;
}
h++;
}
}
int main()
{
cin>>n;
getchar();
for(int i=1;i<=n;i++)
{
string s;
getline(cin,s);
l[i]=s.size();
for(int j=0;j<l[i];j++)
{
if(s[j]==' '||s[j]=='*')
a[i][j]=1;
else a[i][j]=0;
}
}
for(int i=1;i<=n;i++)
for(int j=1;j<=l[i];j++)
if(vis[i][j]==0&&a[i][j]==0)
bfs(i,j);
cout<<ans;
return 0;
}
```
by qym110809 @ 2023-12-03 21:06:54
@[qym110809](/user/1038710) 哦
by x1489631649 @ 2023-12-03 21:24:30
@[qym110809](/user/1038710) 可是那个代码就十分最后一个点对了
by x1489631649 @ 2023-12-03 21:26:32