반응형
문제
https://www.acmicpc.net/problem/1697
풀이
BFS로 풀 수 있는 문제입니다.
x - 1, x + 1, 2 * x 로 이동이 가능한데, 모두 1초씩 걸리므로, 비용이 동일하다는 것을 알 수 있습니다.
비용이 동일할 때, 최단 경로는 BFS로 구할 수 있어서 BFS로 풀이했습니다.
초기의 queue에 수빈이의 위치와 0초를 tuple의 배열 형태로 넣어주고, x - 1, x + 1, 2 * x 만큼 떨어진 곳으로 이동해야합니다.
이미 방문을 했거나, 범위 (0 ~ 10만)를 벗어난다면 이동하지 않습니다.
방문을 하지 않았고, 범위를 벗어나지 않는다면, 다음 위치와 현재 시간 + 1초를 queue에 삽입합니다.
수빈이의 위치가 동생의 위치에 도달했을 때, 시간을 출력해주면 됩니다.
x - 1, x + 1로 이동이 가능하므로 수빈이가 동생을 만나지 못하는 경우는 없습니다.
소스코드
후기
x - 1, x + 1, 2 * x 로 이동하는 것이 모든 같은 비용이기 때문에 BFS를 떠올렸고, BFS로 풀 수 있었습니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 7576 토마토 (Swift) (0) | 2023.04.27 |
---|---|
[BOJ] 백준 7562 나이트의 이동 (Swift) (0) | 2023.04.27 |
[BOJ] 백준 2178 미로 탐색 (Swift) (0) | 2023.04.26 |
[BOJ] 백준 1012 유기농 배추 (Swift) (0) | 2023.04.26 |
[BOJ] 백준 2667 단지번호붙이기 (Swift) (0) | 2023.04.26 |