1194번 - 달이 차오른다, 가자.
visited 배열을 2차원으로 만들면 안되고 왜 3차원이여야 하나요?
2차원으로 구성하신다면
visit[?][?] 에 어떤정보를 포함시키셨나요?
? ? 에는 어떤 정보가 각각들어가고
visit[?][?] = K 라고 했을때 K에는 어떤 정보가 들어가나요?
visited[x][y]=미로에서 x행 y열을 방문했는가? 입니다
그리고 3차원으로 구성한 visited 배열은
visited[x][y][k]=미로의 x행 y열을 열쇠의 보유 상태가 k(비트마스킹)인 상태로 방문했는가? 입니다
단순히
"visited[x][y]=미로에서 x행 y열을 방문했는가? 입니다" 로 구성하였을때는 제 생각에는 부족해보입니다.
저 같은 경우는 방문배열을 구성할때, 매번의 탐색에서 어떤것들이 달라지는가 위주로 생각합니다. 또 그것을 바탕으로 재방문의 여부를 허용합니다.
예를 들어 1번 열쇠를 든 상태로 (y,x)를 방문하는것과 1번열쇠를 들지 않은 상태로 (y,x)를 방문하는것은 분명히 다른 상태입니다.
댓글을 작성하려면 로그인해야 합니다.
lkyxbar 1년 전
visited 배열을 2차원으로 만들면 안되고 왜 3차원이여야 하나요?