alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 1057 토너먼트_파이썬 본문
1057 토너먼트 https://www.acmicpc.net/problem/1057
1057번: 토너먼트
김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를
www.acmicpc.net
문제 풀기 전 공부할 것 : 수학, 브루트포스 알고리즘
풀이 1
<내용>
- 김지민의 번호와 임한수의 번호를 입력받는다.
- 토너먼트에서 항상 승리하기 때문에 김지민과 임한수는 대결하지 않는 경우는 없다.
- 토너먼트 규칙을 찾으면 된다.
- 토너먼트를 할 때 1, 2가 붙어 다음 라운드에서 1이 되고 3, 4가 붙어서 다음 라운드에 2가 된다.
- 이를 적용했을 때 번호가 홀수이면 1을 더하고 짝수이면 그대로 번호를 부여하여 같으면 이번 라운드에서 대결하는 것이다.
- 다음 라운드에 넘어갈 때는 나누기 2한 번호가 된다.
<코드>
n, kim, lim = map(int, input().split())
cnt = 1
while True:
idx1 = kim if kim % 2 == 0 else kim + 1
idx2 = lim if lim % 2 == 0 else lim + 1
if idx1 == idx2:
print(cnt)
break
kim = idx1//2
lim = idx2//2
cnt += 1
728x90
반응형
'Algorithm > 백준 알고리즘_Python' 카테고리의 다른 글
[알고리즘][Python] 백준(BOJ) 2407 조합_파이썬 (0) | 2020.09.08 |
---|---|
[알고리즘][Python] 백준(BOJ) 11659 구간 합 구하기 4_파이썬 (0) | 2020.09.07 |
[알고리즘][Python] 백준(BOJ) 9655 돌 게임 / 9656 돌 게임 2_파이썬 (0) | 2020.09.05 |
[알고리즘][Python] 백준(BOJ) 11048 이동하기_파이썬 (0) | 2020.09.04 |
[알고리즘][Python] 백준(BOJ) 2294 동전 2_파이썬 (0) | 2020.09.03 |
Comments