求助本题输入

P1767 家族

好像越界了吧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


|