求调,根本不输出。。。
  • 板块P1238 走迷宫
  • 楼主hangv
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/3/4 12:53
  • 上次更新2024/3/4 17:26:49
查看原帖
求调,根本不输出。。。
485821
hangv楼主2024/3/4 12:53
#include<bits/stdc++.h>
using namespace std;
int c=0;
bool s = 0;
int n,m;
int sx,sy,fx,fy;
bool mp[105][105];
bool vis[105][105];
int dx[4]={-1,0,-1,0};
int dy[4]={0,1,0,-1};
int ddx[105],ddy[105];
void print(){
	if(s = 0){
		s = 1;
	}
	for(int i = 0; i <= c - 1; i++){
		cout<< "(" << ddx[i] <<","<< ddy[i] << ")" <<"->";
	} 
	cout<<"(" << fx <<","<< fy << ")" << endl;
}
void f(int nx,int ny){
	if (nx == fx && ny == fy) {
		print();
		return;
	}
	for(int i=0;i<4;i++){
		ddx[c] = nx;
		ddy[c] = ny;
		int vx=nx+dx[i],vy=ny+dy[i];
		if(vis[vx][vy]==1||mp[vx][vy] == 0)continue;
		if(vx<=0||vx>n||vy<=0||vy>m)continue;
		vis[vx][vy]=1;
		c++;
		f(vx,vy);
		vis[vx][vy]=0;
		c--;
	}
}
int main(){
	cin>>n>>m; 
	for(int i=1;i<=n;i++){
		 for(int j = 1; j <= m; j++){
		 	cin>> mp[i][j];
		 } 
	}
	cin >> sx >> sy >> fx >> fy;
	vis[sx][sy] = 1;
	f(sx, sy);
	if(s = 0){
		cout<< "-1";
	}
	return 0;
} 
2024/3/4 12:53
加载中...