본문으로 바로가기

[백준 16953] A->B

category 알고리즘 2020. 12. 28. 16:46

A → B

시간 제한메모리 제한제출정답맞은 사람정답 비율
2 초512 MB30521373107143.185%

문제

정수 A를 B로 바꾸려고 한다. 가능한 연산은 다음과 같은 두 가지이다.

  • 2를 곱한다.
  • 1을 수의 가장 오른쪽에 추가한다.

A를 B로 바꾸는데 필요한 연산의 최솟값을 구해보자.

입력

첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다.

출력

A를 B로 바꾸는데 필요한 연산의 최솟값에 1을 더한 값을 출력한다. 만들 수 없는 경우에는 -1을 출력한다.

예제 입력 1 복사

예제 출력 1 복사

2 → 4 → 8 → 81 → 162

예제 입력 2 복사

예제 출력 2 복사

예제 입력 3 복사

예제 출력 3 복사

 

풀이

큐를 이용해서 풀었습니다.

 

int자료형을 사용하면 오버플로가 발생하니 long으로 해주는것을 신경써주셔야 합니다.

 

 

 

코드

 

'알고리즘' 카테고리의 다른 글

[백준 14916] 거스름돈  (0) 2020.12.30
[백준 7570] 줄 세우기  (0) 2020.12.28
[백준 11497] 통나무 건너뛰기  (0) 2020.12.28
[백준 11000] 강의실 배정  (0) 2020.12.27
[백준 15904] UCPC는 무엇의 약자일까?  (2) 2020.12.27