社区讨论
大神%%%求正解
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 条回复,欢迎继续交流。
正在加载回复...