[Python][백준] 20116번 상자의 균형

신남·2023년 1월 31일

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

공부 날짜 : 2023.01.31
정답 참조 여부 : X

상자의 중심위치가 주어질 때 상자를 쌓은 형태가 중심을 잡고 잘 쌓여있는지 무너지는지 판단하는 문제이다.


쉽다. 푸는 방법자체가 예시설명으로 다 들어있다.
누적합 알고리즘 이라는데 누적합개념을 몰라도 풀수있다고 생각한다.

단순히 위에 적층된 상자부터 무게중심을 찾아가며 바로 밑 상자의 범위 이내에 놓여있는지 판단하면 되는 문제다

소스코드

import sys
input = sys.stdin.readline
######################################
n, L = map(int, input().split())

input_data = list(map(int, input().split()))

sum_ = 0

for i in range(n-1, 0, -1):
    sum_ += input_data[i]
    m_senter = sum_ / (n-i)

    if m_senter <= input_data[i-1] - L or m_senter >= input_data[i-1] + L:
        print("unstable")
        exit()

print("stable")

0개의 댓글