• toc {:toc}

๋ฌธ์ œ ํ™•์ธํ•˜๊ธฐ

ํ’€์ด

์ˆœ๋ฐฉํ–ฅ์œผ๋กœ ๊ณ„์‚ฐ์„ ์ƒ๊ฐํ–ˆ์„ ๋•Œ 1์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ์ค€์ด ๋ช…ํ™•ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์—ญ์œผ๋กœ B์—์„œ A๋กœ ๊ฐ€๋Š” ๋ฐฉ์‹์„ ์ƒ๊ฐํ–ˆ๋‹ค. 2๋กœ ๋‚˜๋ˆ ์ฃผ๋ฉด์„œ ์ผ์˜ ์ž๋ฆฌ์— 1์ด ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ 1์„ ์ œ์™ธํ•ด์ฃผ๋ฉฐ ์—ฐ์‚ฐ์„ ์นด์šดํŠธํ•œ๋‹ค.

162 โ†’ 81 โ†’ 8 โ†’ 4 โ†’ 2

1์ด ์•„๋‹Œ ํ™€์ˆ˜๊ฐ€ ๋‚˜์˜ฌ ๊ฒฝ์šฐ ๋‚˜๋ˆŒ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๊ฐ’์„ ๋งŒ๋“ค ์ˆ˜ ์—†์œผ๋ฏ€๋กœ -1์„ ์ถœ๋ ฅํ•œ๋‹ค. B๊ฐ€ A๋ณด๋‹ค ์ž‘์•„์ง€๋Š” ๊ฒฝ์šฐ, A๋กœ B๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†๋‹ค๋Š” ๋ง๊ณผ ๋™์น˜์ด๊ธฐ ๋•Œ๋ฌธ์— -1์„ ์ถœ๋ ฅํ•œ๋‹ค.

#include <bits/stdc++.h>
using namespace std;
 
int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
 
    int a, b, res = 0;
    
    cin >> a >> b;
 
    while(true){
        if(b % 10 != 1 && b % 2 == 1){
            cout << -1 << '\n';
            exit(0);
        }
        else if(b % 10 == 1){
            res++;
            b = b / 10;
        }
        else{
            b = b / 2;
            res++;
        }
        if(a > b){
            cout << -1 << '\n';
            exit(0);
        }
        else if(a == b){
            break;
        }
    }
 
    cout << res+1 << '\n';
 
    return 0;
}