题解 | 迷宫寻路
迷宫寻路
https://www.nowcoder.com/practice/0c8930e517444d04b426e9703d483ed4
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function () {
// Write your code here
while(line = await readline()){
const [n, m] = line.split(' ').map(Number);
const mtx = Array(n);
for (let i = 0; i < n; i++) {
mtx[i] = (await readline()).split('');
}
const visited = Array.from({length: n}, () => Array(m).fill(false));
const dfs = function(i, j) {
if (i < 0 || j < 0 || i >= n || j >= m || visited[i][j] || mtx[i][j] === '#') return false;
if (i === n-1 && j === m-1) {
return true;
}
visited[i][j] = true;
if (dfs(i-1, j)) return true;
if (dfs(i+1, j)) return true;
if (dfs(i, j-1)) return true;
if (dfs(i, j+1)) return true;
return false;
};
console.log(dfs(0, 0) ? "Yes" : "No");
}
}()
查看28道真题和解析
