📍문제 링크
https://www.acmicpc.net/problem/1057
1057번: 토너먼트
김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를
www.acmicpc.net
📍알고리즘 분류
- 수학
- 브루트포스
📍문제 풀이
- 총 팀 수 N과 팀번호 A, B가 주어질 때, A, B 팀이 몇 라운드에서 만나는지 구하라 (A, B 팀은 무조건 이긴다고 가정)
- 토너먼트의 규칙은 반드시 2팀씩 묶어 1팀만 올라간다는 것이다
따라서 팀 1 2 3 4 가 있다면
1라운드에서 묶음 1 1 2 2 로 나타낼 수 있다
2라운드에서 묶음 1 1 1 1 로 나타낼 수 있고 토너먼트가 종료된다
"""
N = 8 일 때
각 팀 1 2 3 4 5 6 7 8 을
묶음 1 1 2 2 3 3 4 4 로 만드는 방법은?
각 번호를 2로 나눈 몫을 빼주면 된다
그리고 결과가 다르면 계속 반복
1 1 2 2 3 3 4 4 1차 가공
1 1 1 1 2 2 2 2 2차 가공
1 1 1 1 1 1 1 1 3차 가공
3차 가공하면 토너먼트 종료됨
"""
📍코드 (Python)
n, a, b = map(int, input().split())
r = 0
while a != b:
a -= a // 2
b -= b // 2
r += 1
print(r)