2차원 탐색을 3차원으로 확장한 문제.
3차원 배열로 초기화해서 풀 수 있지만 같은 팀원이 2차원 배열로 시도해서 도와 줬다.
2차원 배열로 풀기 위해서 배열을 [(높이)*(세로), (가로)] 로 초기화 한뒤 x좌표의 경계조건을 아래와 같이 설정해준다.
방향 벡터를 다음과 같이 정의할 때
// N은 세로
dx = [1, -1, 0, 0, N, -N]
dy = [0, 0, 1, -1, 0, 0]
새로 탐색할 좌표가 주어진 (세로) 범위에서 벗어나면 탐색을 생략한다.
for i in range(6):
nx, ny = x+dx[i], y+dy[i]
// 상자의 가장 위 행보다 전으로 갈 수 없다.
if i == 0 and x%N == N-1:
continue
// 상자의 가장 아래 행보다 다음으로 갈 수 없다.
if i == 1 and x%N == 0:
continue