현재 라운드 경기 수
n
의 홀짝 여부에 따라서 경기 순서가 달라진다.get_round
함수를 통해 이를 체크, 같은 라운드에 경기할 경우 플래그 비트를 참으로 변경, 반복문을 탈출한다.
import sys
def get_round(n):
if n % 2 == 0:
return n // 2
else:
return (n // 2) + 1
n, a, b = map(int, sys.stdin.readline().rstrip().split())
answer = 1
flag = False
while n != 1:
cur_a = get_round(a)
cur_b = get_round(b)
if cur_a == cur_b:
flag = True
break
n = get_round(n)
a = cur_a
b = cur_b
answer += 1
if flag: print(answer)
else: print(-1)