상세 컨텐츠

본문 제목

BJ

카테고리 없음

by geminanolja 2025. 2. 22. 10:21

본문

https://www.acmicpc.net/problem/1351

#include <iostream>
#include <unordered_map>

using namespace std;

unordered_map<long long, long long> memo;

long long compute(long long n, long long p, long long q) {
    if (n == 0) return 1;
    if (memo.find(n) != memo.end()) return memo[n];

    return memo[n] = compute(n / p, p, q) + compute(n / q, p, q);
}

int main() {
    long long n, p, q;
    cin >> n >> p >> q;

    cout << compute(n, p, q) << endl;
    return 0;
}