문제
https://www.acmicpc.net/problem/1351
- 이것도 처음에 뭔 말이지..? 싶었다
- 현재 인덱스를 P와 Q로 나눈 것의 "내림값" 인덱스의 합
- A_0 = 1
주요 아이디어
- 전형적인 DP 문제
- 탑다운 방식으로 풀어보자!
코드 구현 (Python 3)
더보기
from collections import defaultdict
# 수열 n번째 반환
def dp(n):
# 저장되어 있는 값이면
if data[n] != 0:
return data[n]
data[n] = dp(n // p) + dp(n // q)
return data[n]
n, p, q = map(int, input().split())
data = defaultdict(int)
data[0] = 1 # 초기값 작성
print(dp(n))
제출 결과
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 1181. 단어 정렬 (0) | 2024.06.25 |
---|---|
[BOJ] 10026. 적록색약 (0) | 2024.06.25 |
[BOJ] 1541. 잃어버린 괄호 (0) | 2024.06.25 |
[BOJ] 7576. 토마토 (0) | 2024.06.25 |
[BOJ] 16401. 과자 나눠주기 (0) | 2024.06.25 |