トーナメント


問題を解く


金智敏の番号と林韓秀の番号によって絵を描き、よく見ると偶数は次のラウンドで半分、奇数は次のラウンドで半分+1になる.
そして会って一緒に試合をすると、二人の番号が同じになります.
したがって,上記のルールに従ってwhileゲートを番号が同じになるまで返す.

質問リンク


boj/1057

ソースコード


PS/1057.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;
}