为什么不输出?(大佬求调)
  • 板块P1238 走迷宫
  • 楼主like_1999
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/8 20:11
  • 上次更新2024/8/8 21:09:14
查看原帖
为什么不输出?(大佬求调)
1245542
like_1999楼主2024/8/8 20:11
# include<bits/stdc++.h>
using namespace std;
int s_2[4] = {0 , 1 , 0 , -1};
int s_1[4] = {-1 , 0 , 1 , 0};
int v , b , m , n , start_1 , start_2 , end_1 , end_2 , record_1[15] , record_2[15] , maze[15][15]  , temp[15][15];
void search(int strat_1 , int start_2) {
	if (start_1 == end_1 && start_2 == end_2) {
		v = 1;
		for (int q = 0 ; q <= b ; q++) {
			cout << "(" << record_1[q] << "," << record_2[q] << ")" << "->";
		}
		cout << "(" << end_1 << "," << end_2 << ")" << endl;
		return;
	}
	else {
		for (int q = 0 ; q < 4 ; q++) {
			if (maze[start_1 + s_1[q]][start_2 + s_2[q]] == 1) {
				record_1[b] = start_1;
				record_2[b] = start_2;
				maze[start_1][start_2] = 0;
				b++;
				search(start_1 + s_1[q] , start_2 + s_2[q]);
				maze[start_1][start_2] = 1;
				b--;
			}	
		}
		
	}	
}
int main() {
 	cin >> m >> n;
 	for (int q = 1 ; q <= m ; q++) {
 		for (int w = 1 ; w <= n ; w++) {
 			cin >> maze[q][w];
		}
	}
	cin >> start_1 >> start_2 >> end_1 >> end_2;
	search(start_1 , start_2);
	if (v == 0) cout << "-1";
    return 0;
}

2024/8/8 20:11
加载中...