김지민의 번호와 임한수의 번호를 토대로 그림을 그려서 잘 보면 짝수 번호는 그 다음 라운드에서 절반이 되고 홀수 번호는 그 다음 라운드에서 절반 + 1이 된다.
그리고 만나서 서로 같이 경기를 치루면 둘의 번호는 같아진다.
그러므로 번호가 같아 질 때 까지 위의 규칙대로 while문을 돌려주면 된다.
#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;
}