https://www.acmicpc.net/problem/1057
1057번: 토너먼트
김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를
www.acmicpc.net
#include <iostream>
#include <vector>
using namespace std;
int main() {
//std::ios::sync_with_stdio(false); std::cin.tie(NULL); std::cout.tie(NULL);
int N, kim, im;
cin >> N >> kim >> im;
int play[100001];
memset(play, 0, 100001 * sizeof(int));
play[kim] = 1;
play[im] = 1;
bool end = false;
int round = 1;
while (true) {
for (int i = 1; i <= N; i += 2) {
if (play[i] == 1 && play[i + 1] == 1) {
end = true;
break;
}
if (play[i] == 1 || play[i + 1] == 1) {
play[i] = 0;
play[i + 1] = 0;
play[(i + 1) / 2] = 1;
}
}
if (end)
break;
round++;
}
cout << round;
}