[백준/파이썬] 1011번 - Fly me to the Alpha Centauri

Jungyu Jin·2022년 1월 10일
0

BackJoon

목록 보기
3/16

문제 설명

풀이 전략

거리이동 패턴횟수
111번
21 12번
31 1 13번
41 2 13번
51 2 1 14번
61 2 2 14번
71 2 1 2 15번
81 2 2 2 15번
91 2 3 2 15번
101 2 3 2 1 16번
111 2 3 2 2 16번
121 2 3 3 2 16번
131 2 3 1 3 2 17번
141 2 3 2 3 2 17번
151 2 3 3 3 2 17번
161 2 3 4 3 2 17번

기계의 이동 원리를 고려하여 거리에 따른 이동 패턴과 횟수를 보면, 1부터 2번씩 더해가며 거리가 늘어난다. 따라서 총 거리에서 1부터 2번씩 빼면서 횟수를 세는 방식으로 해결한다.

코드

t = int(input())
for i in range(t):
    x,y = map(int,input().split())
    d = y - x
    count = 0; a = 1;
    while d > 0:
        count += 1
        d -= a
        if count % 2 == 0:
            a += 1
    print(count)

0개의 댓글