如题,在洛谷这道题满分,但是同一道题同样的代码,在隔壁http://ybt.ssoier.cn:8088/ (一本通)上面就全部RE了
#include<bits/stdc++.h>
using namespace std;
char t[22375][22375];
int gx[]={1,-1,0,0};
int gy[]={0,0,1,-1};
int n,m,i=1,j=1,h=0,cell=0;
int BFS(int sx,int sy)
{
queue<int> qx;
queue<int> qy;
qx.push(sx);
qy.push(sy);
while(qx.size()&&qy.size())
{
int ax=qx.front();
int ay=qy.front();
qx.pop();
qy.pop();
int x=ax,y=ay;
for(h=0;h<4;h++)
{
int nx=x+gx[h];
int ny=y+gy[h];
if(nx<=0||ny<=0||nx>m||ny>n)
continue;
else
{
if(t[nx][ny]=='0'||t[nx][ny]=='v')
continue;
else
{
qx.push(nx);
qy.push(ny);
t[nx][ny]='v';
}
}
}
}
}
int main()
{
cin>>n>>m;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
cin>>t[j][i];
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
if(t[j][i]=='0'||t[j][i]=='v') continue;
BFS(j,i);
cell++;
}
}
cout<<cell;
return 0;
}