CSES: Dice Combinations

CSES - Dice Combinations

定义​dp[i]是能数字​i的骰子组合数量,直接推。

注意:

  1. 需要MOD1e9+7
  2. 骰子顶多6面
/*
 * Created by: Chixiyu
 * Date: 2025-02-12
 */
#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n;
    cin >> n;
    vector<int> dp(n + 1, 0);
    dp[0] = 1;
    for (int i = 1; i <= n; i++) {
        // j for dice
        for (int j = 1; j <= 6; j++) {
            if (i - j >= 0) {
                dp[i] += dp[i - j];
                dp[i] %= MOD;
            }
        }
    }
    cout << dp[n] << endl;
    return 0;
}