게임의 목표는 1번 칸에서 시작해서 100번 칸으로 이동하는 것이고, 입력을 보면 "x번 칸에 도착하면, y번 칸으로 이동" 이기 때문에 굳이 이차원 배열로 표현하지 않았습니다.
1번 칸 부터 시작하여, 주사위로 굴려 이동할 수 있는 모든 경우의 수를 조사합니다. queue에 (이동한 칸, 주사위를 굴린 횟수)를 넣고 뺌으로써 가까운 거리부터 조사해 나갑니다.
한 번 방문한 곳을 다시 방문한 경우에는 continue를 통해 더 이상 큐에 넣지 않습니다. 그 이유는, 이전에 방문한 경우에서 주사위를 굴려 이동가능한 경우의 수는 현재 다시 방문한 경우의 경우의 수와 완전히 동일하기 때문입니다. 이전에 방문한 경우는 현재 방문했을 때 까지의 주사위를 굴린 횟수보다 작거나 같습니다. (가까운 거리부터 조사하는 BFS의 특성상)
2021/04/03
2016 KB