BOJ - 1057( 파이썬 )

Lee Do Kyung·2024년 7월 2일

Boj

목록 보기
1/12

알고리즘:

  • 브루트포스 알고리즘

풀이:

처음에 문제를 푸는데 어렵게 케이스를 다 나눠서 생각하다가 뭔가 코드가 길어지고 잘
짜지지가 않아서 찾아보니 1, 2 번이 토너먼트를 해서 2번이 진출 한다면 2 - 2/2 = 1이므로
1번을 부여받고, 3, 4 번이 토너먼트를 해서 4번이 진출했다면, 4 - 4/2 = 2번을 부여받게 된다.

즉, 1번과 2번을 보았을때 다음 라운드의 번호는 N - N//2로 계산을 할 수 있다는 결론이 나온다.

소스코드:

#1054
import sys
input = sys.stdin.readline

# 입력
N, j, h = map(int, input().split())

# 토너먼트
cnt = 0
while j != h:
j -= j // 2
    h -= h // 2
cnt += 1
print(cnt)

문제 출처:

https://www.acmicpc.net/problem/1057

깃허브 링크:

https://github.com/dbzoseh2rl

profile
유능한 Backend 개발자가 되기위해 열심히 하겠습니다!

0개의 댓글