救急!编译问题!
  • 板块灌水区
  • 楼主wuhongkun
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/10/3 22:41
  • 上次更新2024/10/3 22:45:08
查看原帖
救急!编译问题!
968599
wuhongkun楼主2024/10/3 22:41

谁能帮我看看为啥编译错误

#include<iostream>
using namespace std;
const int N=1005;
int a[N][N],vis[N][N],n,m;
struct T{
	int x;
	int y;
}q[N*N][N*N],p[N];
bool can(int x,int y){
	if(a[x-1][y]||a[x+1][y]||a[x][y+1]||a[x][y-1])return false;
	return true;
}
bool ok(int x,int y){
	if(x<1||x>n||y<1||y>n)return false;
	return true;
}
int main(){
	int ans=1;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(!can(i,j)||a[i][j]||vis[i][j])continue;
			int l=1,r=0,c=1,top=0;
			r++;
			q[r].x=i;
			q[r].y=j;
			vis[i][j]=1;
			while(l<=r){
				int x=q[l].x;
				int y=q[l].y;
				l++;
				if(!can(x,y)){
					p[++top]={x,y};
					continue;
				}
				if(ok(x-1,y)){
					vis[x-1][y]=1;
					c++;
					q[++r]={x-1,y};
					if(ok(x+1,y)){
						vis[x+1][y]=1;
						c++;
						q[++r]={x+1,y};
						if(ok(x,y+1)){
							vis[x][y+1]=1;
							c++;
							q[++r]={x,y+1};
							if(ok(x,y-1)){
								vis[x][y-1]=1;
								c++;
								q[++r]={x,y-1};
							}
						}
					}
				}
			}
			for(int i=1;i<=top;i++)vis[p[i].x][p[i].y]=0;
			ans=max(ans,c);
		}
	}
}

编译信息如下:

2024/10/3 22:41
加载中...