본문 바로가기

BOJ/Python

[BOJ/백준] 1703 - 생장점 (Python)

문제

문제링크

branchorama  나무의 모든 생장점에서 같은 숫자의 가지로 나뉘며, 그 숫자는 해마다 다르다.

그 숫자와 가지치기 할 가지의 수, 나무의 나이가 주어질 때, 총 가지의 수를 구하라.

 

풀이

각 줄에서 맨 첫 번째 값은 나무의 나이(a), 이외에는 index가 짝수인 값은 한 가지에서 나눌 숫자이고 홀수인 값은 가지치기할 숫자이다.

맨 처음 시작 가지(l)는 1이고, 짝수 index값은 곱해주고 홀수 index값은 빼준다.

이 한 번의 과정이 한 해를 의미한다.

a 해가 지난 후, l에 저장된 값은 총 가지의 수이다.

 

코드

while True:
    branchorama=list(map(int, input().split()))
    if branchorama==[0]:
        break
    else:
        a=branchorama[0]
        l=1
        for i in range(1,2*a+1,2):
            l*=branchorama[i]
            l-=branchorama[i+1]
    print(l)