본문 바로가기
알고리즘

백준 1011번 Fly me to the Alpha Centauri

by Lihano 2021. 9. 9.
반응형

풀이 언어 : PYTHON

 

# 1 => 1 => 1

# 2 => 1 1 => 2

# 3 => 1 1 1 => 3
# 4 => 1 2 1 => 3

# 5 => 1 2 1 1 => 4
# 6 => 1 2 2 1 => 4

# 7 => 1 2 2 1 1 => 5
# 8 => 1 2 2 2 1 => 5
# 9 => 1 2 3 2 1 => 5

# 10 => 1 2 3 2 1 1 => 6
# 11 => 1 2 3 2 2 1 => 6
# 12 => 1 2 3 3 2 1 => 6

# 13 => 1 2 3 3 2 1 1 => 7
# 14 => 1 2 3 3 2 2 1 => 7
# 15 => 1 2 3 3 3 2 1 => 7
# 16 => 1 2 3 4 3 2 1 => 7

# 17 => 1 2 3 4 3 2 1 1 => 8
# 18 => 1 2 3 4 3 2 2 1 => 8
# 19 => 1 2 3 4 3 3 2 1 => 8
# 20 => 1 2 3 4 4 3 2 1 => 8

# 21 => 1 2 3 4 4 3 2 1 1 => 9
# 22 => 1 2 3 4 4 3 2 2 1 => 9
# 23 => 1 2 3 4 4 3 3 2 1 => 9
# 24 => 1 2 3 4 4 4 3 2 1 => 9
# 25 => 1 2 3 4 5 4 3 2 1 => 9


# 1 => 1

# 2 => 2

# 3 => 3
# 4 => 3

# 5 => 4
# 6 => 4

# 7 => 5
# 8 => 5
# 9 => 5

# 10 => 6
# 11 => 6
# 12 => 6

# 13 => 7
# 14 => 7
# 15 => 7
# 16 => 7

# 17 => 8
# 18 => 8
# 19 => 8
# 20 => 8

# 21 => 9
# 22 => 9
# 23 => 9
# 24 => 9
# 25 => 9

# 25 => 24 => 23 => 21 => 19 => 16 => 13 => 9 => 5 => 0

# 21 => 20 => 19 => 17 => 15 => 12 => 9 => 5 => 1 => -4

# 규칙은 1부터 2번씩 빼주면서 처음으로 음수가 되는 횟수가 이동 거리가 된다.

T = int(input())

for _ in range(T) :
    # 좌표 입력
    a, b = map(int, input().split())
    # 둘의 거리
    dist = b - a
    # 이동 횟수 구하기
    cnt = 0
    minus = 1
    while dist > 0 :
        for _ in range(2) :
            dist -= minus
            cnt += 1
            if (dist <= 0) :
                break
        minus += 1
    print(cnt)

 

링크

1011번: Fly me to the Alpha Centauri (acmicpc.net)

반응형

'알고리즘' 카테고리의 다른 글

백준 10989번 수 정렬하기 3  (0) 2021.09.16
백준 1436번 영화감독 숌  (0) 2021.09.14
백준 1018번 체스판 다시 칠하기  (0) 2021.09.14
백준 7568번 덩치  (0) 2021.09.14
백준 1316번 그룹단어 체커  (0) 2021.09.06

댓글