[실버 3] 백준 25418 - 정수 a를 k로 만들기 (파이썬)
[실버 3] 백준 25418 - 정수 a를 k로 만들기 (파이썬)
2025.05.06https://www.acmicpc.net/problem/25418풀이이 문제는 정수 A에서 출발해서 두가지 연산이 가능하다.1을 더하기 (x → x + 1)2배 만들기 (x → 2x)를 사용하여 목표 정수 K를 만드는 최소 연산 횟수를 묻는다.그래프 모델링각 정수 i를 노드로 보고,i → i+1, i → 2*i 두 개의 간선을 가진다.시작 노드는 A, 목표 노드는 K가 된다.최단 경로 탐색모든 간선의 가중치가 1이므로, 너비 우선 탐색(BFS)을 사용하면 시작점에서 목표점까지의 최소 간선 수(연산 횟수)를 구할 수 있다.구현 세부사항visit[i]: 정수 i에 한 번이라도 도달했는지 표시dist[i]: 시작 정수 A에서 i에 도달하기까지의 최소 연산 횟수queue: BFS용 덱(Deque)인접 리스트 ..