이진탐색.. cnt를 곁들인..
import sys
sys.stdin = open('input.txt')
# 좌우로 부터 조여 몇번 조여야 원하는 n값에 도달하는지 체크합니다.
def binary_search(P, n):
left = 1
right = P
cnt = 0
while left <= right:
mid = (left + right)//2
cnt += 1
if mid < n:
left = mid
elif mid > n:
right = mid
else:
break
return cnt
def find_winner():
P, A, B = map(int, input().split())
if P == 1 or A == B:
return 0
a_cnt = binary_search(P, A)
b_cnt = binary_search(P, B)
# 체크한 횟수를 비교해 결과를 반환합니다.
if a_cnt > b_cnt:
return 'B'
elif b_cnt > a_cnt:
return 'A'
else:
return 0
for test in range(1, int(input())+1):
print(f'#{test} {find_winner()}')
'practivceAlgorithm > swexpertacademy' 카테고리의 다른 글
[SWEA][Python] 4843 특별한 정렬 (0) | 2021.08.12 |
---|---|
[SWEA][Python] 4836 색칠하기 (0) | 2021.08.12 |
[SWEA][Python] 1210 ladder1 (0) | 2021.08.12 |
[SWEA][Python] 1954 달팽이숫자 (0) | 2021.08.11 |
[SWEA] 1209 배열의 최댓값 구하기 (0) | 2021.08.11 |