https://www.acmicpc.net/problem/1351
def dpq(n, p, q, memo):
if n == 0:
return 1
if n in memo: return memo[n]
pid = n // p
qid = n // q
memo[n] = dpq(pid, p, q, memo) + dpq(qid, p, q, memo)
return memo[n]
n, p, q = map(int, input().split())
memo = {}
print(dpq(n, p, q, memo))
print(memo)
'알고리즘 문제풀이' 카테고리의 다른 글
sqrt log sin [백준 4172] (0) | 2025.01.11 |
---|---|
수익[백준 4097] (0) | 2025.01.09 |
국왕의 방문[백준 2982] (0) | 2025.01.05 |
최소 회의실 개수 [백준 19598] (0) | 2024.10.03 |
컵라면 [백준 1781] (0) | 2024.09.30 |