백준 16953번 - A -> B

박진형·2021년 6월 28일
0

algorithm

목록 보기
27/111

문제 풀이

BFS를 통해서 A10+1A*10 +1A2A * 2를 반복 push해서 cnt값을 세어주면 된다.

문제 링크

boj/16953

소스코드

PS/16953.cpp

#include <iostream>
#include<vector>
#include<algorithm>
#include<math.h>
#include<queue>

using namespace std;

int main() {
	int n, a, b;
	cin >> n >> a >> b;
	int cnt = 0;
	while (a != b)
	{
		if (a % 2)
		{
			a /= 2;
			a += 1;
		}
		else
		{
			a /= 2;
		}
		if (b % 2)
		{
			b /= 2;
			b += 1;
		}
		else
			b /= 2;
		cnt++;
	}
	cout << cnt;
}

0개의 댓글