[백준] 25688: 빠른 무작위 숫자 탐색 - 비트마스크 상태를 포함한 BFS (Java)
문제 바로가기숫자 1부터 6까지 모두 방문해야 한다5 x 5 격자에서 상하좌우로 이동하며 숫자 1부터 6까지 모두 방문하는 최소 이동 횟수를 구해야 한다. -1인 칸은 지나갈 수 없고, 숫자를 방문하는 순서는 정해져 있지 않다.일반적인 격자 최단 거리 문제처럼 좌표만 방문 상태로 사용하려고 했다. 하지만 같은 칸에 도착했더라도 지금까지 방문한 숫자의 집합이 다르면 이후에 해야 할 일이 달라진다.예를 들어 같은 (row, col)에 도착한 두 상태가 다음과 같다고 해보자.현재 좌표방문한 숫자앞으로 방문할 숫자같은 칸1, 23, 4, 5, 6같은 칸1, 32, 4, 5, 6좌표만 같다는 이유로 둘 중 하나를 제거하면 필요한 숫자를 모두 방문하는 경로를 놓칠 수 있다. 따라서 BFS 상태에 현재 위치와 숫자 ..
2024. 5. 17.