본문 바로가기
Algorithm

[구현/수학] 백준 8718 Bałwanek - 파이썬(Python)

by jangThang 2022. 9. 26.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    8718번: Bałwanek

    W pierwszym wierszu wejścia znajdują się dwie liczby całkowite x, k (1 ≤ x ≤ 106, 1 ≤ k ≤ 105, k < x), oznaczające odpowiednio ilość litrów śniegu w parku oraz z ilu litrów śniegu zbudowana jest jedna z kul śnieżnych bałwana.

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     가장 큰 눈사람을 만드는 문제입니다. 입력에는 '눈사람을 만들 수 있는 눈의 양 x'와 '이미 만든 눈 뭉치 k'가 주어집니다. 눈사람은 총 3개의 눈뭉치를 쌓아서 만들어야 하며, 위에 쌓는 눈뭉치는 아래것보다 1/2 작아야 합니다.

     

     

     

    3. 코드

    # 입력
    # x: 공원에 있는 눈의 양, k: 이미 만든 눈뭉치의 양
    x, k = map(int, input().split())
    
    # k가 가장 맨 위에 올라갈 눈뭉치인 경우
    if k*7 <= x:
        print(k*7000)
    
    # k가 중간에 위치할 눈뭉치인 경우
    elif k*3.5 <= x:
        print(k*3500)
    
    # k가 가장 아래 위치한 눈뭉치인 경우
    elif k*1.75 <= x:
        print(k*1750)
    
    # 만들지 못하는 경우
    else:
        print(0)

     가장 작은 눈뭉치의 크기를 a라고 했을 때, 전체 필요한 눈의 양은 a + 2a + 4a = 7a입니다. 현재 남아있는 눈의 양에 따라, 이미 만든 눈뭉치 k를 어디에 배치해야하는지 판별합니다.

     만약 불가능하다면, 0을 출력합니다. (눈사람을 만들 수 없음)

     

    star가 되고나서 Tistory

    반응형

    댓글