시작이 반

[백준] 9461번(python 파이썬) 본문

알고리즘/백준

[백준] 9461번(python 파이썬)

G_Gi 2021. 2. 6. 15:44
SMALL

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

 

삼각형을 계속 이어나가면서 규칙을 찾는 문제이다.

 

내가 구한 점화식은

f(1) = 1

f(2) = 1

f(3) = 1

f(4) = f(3) + f(1)

f(5) = f(4)

f(6) = f(5) + f(1)

f(7) = f(6) + f(2)

f(8) = f(7) + f(3)

 

f(5)부터 규칙을 찾을 수 있었다..

 

t = int(input())

def padovan(n):
    dp = [-1] * n

    for i in range(n):
        if i < 3:
            dp[i] = 1
        elif i == 3:
            dp[i] = dp[i-1] + dp[i-2]
        else:
            if i-5 < 0:
                dp[i] = dp[i-1]
            else:
                dp[i] = dp[i-1] + dp[i-5]
    return dp[n-1]


for _ in range(t):
    n = int(input())
    print(padovan(n))
LIST

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 1932번(python 파이썬)  (0) 2021.02.08
[백준] 9461번(python 파이썬)  (0) 2021.02.06
[백준] 20208번(python 파이썬)  (0) 2021.02.04
[백준] 1759번(python 파이썬)  (0) 2021.02.04
[백준] 16968번(python 파이썬)  (0) 2021.02.04