Notice
Recent Posts
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
관리 메뉴

이우의 개발일지

[백준 C/C++] 16953번 분수찾기 - 자료형 조심!! 본문

카테고리 없음

[백준 C/C++] 16953번 분수찾기 - 자료형 조심!!

공대이우 2024. 9. 19. 08:00

백준 16953번 

#include<iostream>
#include<queue>

using namespace std;


int main() {
	long long a, b;
	cin >> a >> b;
	
	queue<pair<long long, int>> Q;

	int minn = 1000000;

	Q.push({ a,0 });
	while (!Q.empty()) {
		
		long long n1 = Q.front().first;
		int n2 = Q.front().second;

		if (n1 == b) {
			minn = min(minn, n2 + 1);
			Q.pop();
			continue;
		}

		if (n1 * 2 <= b) {
			Q.push({ n1 * 2, n2 + 1 });
			//cout << "n1*2 : " << n1 * 2 << '\n';
		}
		
		if (n1 * 10 + 1 <= b) {
			Q.push({ n1 * 10 + 1, n2 + 1 });
			//cout << "n1*10 + 1 : " << n1 * 10 + 1 << '\n';
		}
		Q.pop();
	}

	if (minn == 1000000) {
		minn = -1;
	}
	cout << minn << '\n';
	return 0;
}

 

반응형