백준1697 C++1 [백준] 1697번 숨바꼭질 <C++> 문제 문제 분석 간선의 가중치가 동일하고 이동에 대한 최단 거리를 구하는 문제이다. 그런데 이 문제는 특이하게 1차원이다. 즉, 1차원 BFS 문제의 대표 유형이다. 최단 거리가 어떠한 경우에도 될 수 없는 경우는 다음과 같다. - 이미 방문했던 곳을 또 방문하는 경우 (동선 낭비) - 맵 범위 밖을 벗어나는 경우 길이가 8이고 수빈이가 3번 위치에 있을 때, X-1, X+1, 2*X 위치로 각각 이동시킬 때 각 위치의 최단 경로를 아래에서 살펴보자. 3번 위치에서 X-1, X+1, 2*X 지점은 각각 2,4,6 지점이다. 그래서 저 3개의 지점은 1번의 이동만으로 저 지점에 도달할 수 있다. 이제 케이스를 나눠서 생각해봐야 한다. - 2번 지점으로 이동한 경우 - 4번 지점으로 이동한 경우 - 6번 지.. 2024. 2. 3. 이전 1 다음