BOJ 16953 : A→B
heeji_
[문제] 1) 정수 A, B가 주어졌을 때, *2 혹은 1을 추가하는 연산을 통해 A->B까지 가는 것이 목표. 2) 이 때,연산의 수행해야하는 연산 횟수의 최솟값을 구해라. ▷ 입력 : A, B (최대 10^9) [풀이] 1) 기본적으로 comma6oz.tistory.com/10 (숨바꼭질) 문제와 탐색방법은 유사하다. 2) bfs로 탐색하고 queue에 현재 노드와 연산 횟수를 저장한다. ▷ 현재 노드가 B가 되면 탐색을 종료하고 연산 횟수 반환한다. 3) 숨바꼭질 문제와 다르게 최대값이 매우 크므로 vector를 만들어서 거리 값을 저장하면 메모리 초과가 발생한다. ▷ vector을 이용해 BOJ에 제출했을 때 bad_alloc과 OutofBounds가 발생했다. ▶ 메모리 초과 해결 방법 ▷ in..