a에서 부터 생각을 하게 되면 그리디로 풀 수 없음
→ 어떤 값을 선택해야 최종 목적지로 갈 수 있는지 선택하기 어려움
b에서부터 a로 가는 것을 생각하게 되면 경우가 명확해짐
#include <iostream>
int a,b;
void input_setting()
{
std::ios_base::sync_with_stdio(false);
std::cin.tie(0);
std::cout.tie(0);
}
void input()
{
std::cin >> a >> b;
}
void solution()
{
int answer;
answer = 0;
while (a < b)
{
if (b % 2 == 0)
b /= 2;
else if (b % 10 == 1)
b /= 10;
else
{
std::cout << "-1";
return ;
}
++answer;
}
if (a > b)
std::cout << "-1";
if (a == b)
std::cout << ++answer;
}
int main(void)
{
input_setting();
input();
solution();
return (0);
}