dfs求调AC必关
查看原帖
dfs求调AC必关
1344299
zhaohongbo1234楼主2025/1/26 21:10

p1746

#include<bits/stdc++.h>
#define int long long
using namespace std;
int a[10000][10000];
int vis[5000][5000];
int n;
void dfs(int x,int y,int dis){
	if(x>n||x<1||y>n||y<1||dis>=vis[x][y]||a[x][y]==1);
		return;
	vis[x][y]=dis;
	dfs(x+1,y,dis+1);
	dfs(x,y+1,dis+1);
	dfs(x,y-1,dis+1);
	dfs(x-1,y,dis+1);
}
signed main(){
	cin>>n;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++){
			char c;
			cin>>c;
			a[i][j]=(c=='1');
			vis[i][j]=INT_MAX;
		}
	int x,y,x2,y2;
	cin>>x>>y>>x2>>y2;
	dfs(x,y,0);
	cout<<vis[x2][y2];	
	return 0;}
2025/1/26 21:10
加载中...