바킹독 님의 시뮬레이션 강의를 듣고 해당 문제집에 있는 문제 중 하나여서시뮬레이션 문제라는 것을 알고 풀기 시작했다. 문제를 읽다보니 꽤나 복잡해서 여러 알고리즘을 사용해야 한다고 판단했다.먼저 전체 알고리즘을 짜봤는데,① 판 돌리기 (4^5가지 경우의 수)② 판 쌓기 (5!가지 경우의 수)③ 입구 선택하기 (8가지 경우의 수)④ 출구까지 최소 이동 거리 갱신하기 (5³가지 경우의 수) 4^5 × 5! × 8 × 5³ = 대략 1억 정도의 시간 복잡도를 가지므로 시간 제한에 걸리지 않는다. 판을 돌리고 쌓기 위해서 백트래킹을 사용하고,입구부터 출구까지 최소 이동 거리를 계산하기 위해 BFS를 사용한다. 중요한 점은,BFS 탐색 전에 입구와 출구가 막혀서 갈 수 없는 곳인 경우는 탐색하지 않도록 가지치기를..