-
코드
s = [[[0 for i in range(21)] for i in range(21)] for i 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 s[a][b][c]: return s[a][b][c] if a < b and b < c: s[a][b][c] = w(a,b,c -1) + w(a, b-1, c-1) - w(a, b-1, c) return s[a][b][c] s[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 s[a][b][c] while True: a, b, c = map(int, input().split()) if a == -1 and b== -1 and c == -1: break d = w(a,b,c) print("w(%d, %d, %d) = %d"%(a,b,c,d))
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 9461번 파도반 수열 (파이썬) (0) 2022.01.01 [백준] 1904번 01타일 (파이썬) (0) 2022.01.01 [백준] 1003번 피보나치 함수 (파이썬) (0) 2022.01.01 [백준] 13305번 주유소 (파이썬) (0) 2022.01.01 [백준] 1541번 잃어버린 괄호 (파이썬) (0) 2022.01.01