그리디 문제로 인식하고 풀었다.
처음 숫자부터 목표숫자까지 커지게 만들지 말고, 목표숫자부터 처음숫자로 작아지게 만들면 쉽게 해결할 수 있다.
n,m = map(int,input().split())
res = 1
while m>n:
res+=1
if m%2 == 0:
m = int(m/2)
elif m%10 == 1:
m = m//10
else:
res=-1
break
if m != n:
res = -1
print(res)
'백준' 카테고리의 다른 글
숫자 카드 2 - 10816번 (0) | 2022.09.16 |
---|---|
수 찾기 - 1920번 (0) | 2022.09.15 |
AC - 5430번 (0) | 2022.09.13 |
주유소 - 13305 (0) | 2022.09.12 |
DFS와 BFS - 1260번 (0) | 2022.09.10 |
댓글