求助,为什么这个代码只能在洛谷上过?
查看原帖
求助,为什么这个代码只能在洛谷上过?
762588
Edgebright楼主2022/8/9 13:29

如题,在洛谷这道题满分,但是同一道题同样的代码,在隔壁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;
}
2022/8/9 13:29
加载中...