[백준/파이썬] 1057번

민정·2023년 12월 18일
0

[백준/파이썬]

목록 보기
190/245
post-thumbnail

📍백준 1057번 문제

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

코드

import sys
import math
n, kim, im = map(int, input().split())
cnt = 1
while True:
    temp = min(kim, im)
    if abs(kim - im) == 1 and temp % 2 == 1:
        break
    kim = math.ceil(kim/2)
    im = math.ceil(im/2)

    cnt += 1
print(cnt)

풀이

연속되는 수여야 한다.
연속가능한 경우가 (짝수, 홀수) (홀수, 짝수) 인데 (짝수, 홀수)인 경우엔 같은 라운드에서 만날 수 없다.
그래서 둘 중에 작은 수가 홀수이면서 두 수의 차가 1인 경우에 반복문을 빠져나오도록 설정했다.

profile
パㅔバ6ㅇr 덤벼ㄹΓ :-0

0개의 댓글