-
9184번: 신나는 함수 실행
입력은 세 정수 a, b, c로 이루어져 있으며, 한 줄에 하나씩 주어진다. 입력의 마지막은 -1 -1 -1로 나타내며, 세 정수가 모두 -1인 경우는 입력의 마지막을 제외하면 없다.
www.acmicpc.net
코드
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