반응형
[문제 출처]
https://www.acmicpc.net/problem/9184
[소스 코드]
dp = [[[0 for col in range(21)] for row in range(21)] for depth in range(21)]
def w(a,b,c):
if a<=0 or b<=0 or c<=0:
return 1
if a > 20 or b > 20 or c > 20:
return w(20,20,20)
if dp[a][b][c]:
return dp[a][b][c]
if a < b < c:
dp[a][b][c] = w(a-1, b, c) + w(a-1,b-1,c) + w(a-1,b,c-1) - w(a-1,b-1,c-1)
return dp[a][b][c]
dp[a][b][c] = w(a-1,b,c) + w(a-1,b-1,c) + w(a-1,b,c-1) - w(a-1,b-1,c-1)
return dp[a][b][c]
while True:
a,b,c = map(int,input().split())
if a == -1 and b == -1 and c == -1:
break
result = w(a,b,c)
print("w(%d, %d, %d) = %d" %(a,b,c,result))
반응형
'알고리즘 > python' 카테고리의 다른 글
[python/파이썬] 백준 4673 셀프 넘버 (0) | 2022.10.26 |
---|---|
[python.v파이썬] 백준 1932 정수 삼각형 (1) | 2022.10.14 |
[python/파이썬] 백준 1904 01타일 (0) | 2022.10.12 |
[python/파이썬] 백준 24416 알고리즘 수업 - 피보나치 수 1 (0) | 2022.10.11 |
[python/파이썬] 백준 2941 크로아티아 알파벳 (0) | 2022.10.07 |