티스토리 뷰

백준

백준 소스코드 [C++] 16953 A->B

Hani_Levenshtein 2021. 1. 4. 13:58

www.acmicpc.net/problem/16953

 

16953번: A → B

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

www.acmicpc.net

백준 소스코드 [C++] 16953 A->B

#include <iostream>
#include <algorithm>
#include <queue>
#include <string.h>
#include <limits.h>
#include <vector>
#include <math.h>
#include <stack>
#include <bitset>
#include <string>
#include <set>
#define all(v) v.begin(), v.end()
#define pii pair<int,int>
#define make_unique(v) v.erase(unique(v.begin(), v.end()), v.end())
typedef long long ll;
using namespace std;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	int n, m;
	cin >> n >> m;
	int cnt = 0;
	while (true) {
		if (n == m) {
			cout << cnt+1 << '\n';
			break;
		}
		else if (n > m) {
			cout << "-1" << '\n';
			break;
		}
		if (m % 10 == 1) {
			m = m / 10;
			cnt++;
			
		}
		else if (m % 2 == 0) {
			m = m / 2;
			cnt++;
		}
		else {
			cout << "-1" << '\n';
			break;
		}
	}


	return 0;
}
댓글