社区讨论

大神%%%求正解

B3625迷宫寻路参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@m5q3g1fz
此快照首次捕获于
2025/01/10 09:43
去年
此快照最后确认于
2025/11/04 11:49
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
char a[105][105];
bool u = 0;

long long zt[8][8] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}}, n, m;

void ss(long long i, long long j) {
	if (i == n && j == m) {
		u = 1;
		return ;
	} else if (u == 1 || a[i][j] == 's' || a[i][j] == '#' || i == 0 || j == 0 || i == n + 1 || j == m + 1) {
		return;
	} else {
		for (long long s = 0; s < 4; s++) {
			if (a[i][j] == '.') {
				a[i][j] = 's';
				ss(i + zt[s][0], j + zt[s][1]);
				a[i][j] = '.';
			} else {
				ss(i + zt[s][0], j + zt[s][1]);
			}
		}
	}
}

int main() {
	cin >> n >> m;
	for (long long i = 1; i <= n; i++) {
		for (long long j = 1; j <= m; j++) {
			cin >> a[i][j];
		}
	}
	ss(1, 1);
	if (u == 1) {
		cout << "Yes";
	} else {
		cout << "No";
	}
	return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...