DP(재귀를 활용)
백준 9184 import sys def DFS(a,b,c) : if a 20 : return DFS(20,20,20) if dp[a][b][c] : return dp[a][b][c] elif a < b and b < c : dp[a][b][c] = DFS(a, b, c-1) + DFS(a, b-1, c-1) - DFS(a, b-1, c) else : dp[a][b][c] = DFS(a-1, b, c) + DFS(a-1, b-1, c) + DFS(a-1, b, c-1) - DFS(a-1, b-1, c-1) return dp[a][b][c] dp = [[[0 for _ in range(21)] for _ in range (21)] for _ in range (21)] while True: a,b,c= ma..
2024. 2. 9.