0,0 -> n-1,n-1로 갈 수 있는지
근데 지그재그는 안되네...왜 그걸 안 적어줘요ㅡㅡ
dx=[1,0], dy = [0,1]로 잡고 for문돌릴떄 step만큼 곱해서 다음 dfs로 넘겨준다.
const input = require('fs').readFileSync('dev/stdin').toString().trim().split('\n')
const n = Number(input[0]);
const graph = [];
for (let i = 1; i <= n; i++) graph.push(input[i].split(" ").map(Number));
const visited = Array.from({ length: n }, () => new Array(n).fill(false));
let ans = false;
const dx = [1, 0],
dy = [0, 1];
function dfs(y, x, step) {
visited[y][x] = true;
if (y === n - 1 && x === n - 1) {
ans = true;
return;
}
for (let i = 0; i < 2; i++) {
const nx = x + dx[i] * step,
ny = y + dy[i] * step;
if (ny < 0 || ny >= n || nx < 0 || nx >= n) continue;
if (!visited[ny][nx]) {
dfs(ny, nx, graph[ny][nx]);
}
}
}
dfs(0, 0, graph[0][0]);
console.log(ans ? "HaruHaru" : "Hing");