0分大佬求调!!!!
  • 板块P1141 01迷宫
  • 楼主dfsgbear2
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/9/22 20:00
  • 上次更新2023/11/2 18:42:51
查看原帖
0分大佬求调!!!!
1000915
dfsgbear2楼主2023/9/22 20:00
#include<bits/stdc++.h>
using namespace std;
int k=-1,a[1001][1001],vis[1001][1001],x[10001],y[10001],n,m;
int fx[4]={0,-1,1,0};
int fy[4]={-1,0,0,1};
void zy(int x,int y,int k,int ans){
	if(x<1||x>n||y<1||y>n||vis[x][y]==1)return;
	vis[x][y]=1;
	for(int i=0;i<4;i++){
		if(k==0&&a[x+fx[i]][y+fy[i]]==1&&vis[x+fx[i]][y+fy[i]]==0)zy(x+fx[i],y+fy[i],k+1,ans+1);
		if(k==1&&a[x+fx[i]][y+fy[i]]==0&&vis[x+fx[i]][y+fy[i]]==0)zy(x+fx[i],y+fy[i],k-1,ans+1);
	}
	vis[x][y]=0;
	k=max(k,ans);
	ans=0;
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=m;i++){
		cin>>x[i]>>y[i];
	}
	for(int i=1;i<=m;i++){
		zy(x[i],y[i],a[x[i]][y[i]],1);
		cout<<k<<endl;
	}
}
2023/9/22 20:00
加载中...