1 条题解

  • 1
    @ 2026-8-7 14:56:25
    #include <iostream>
    using namespace std;
    
    int ans = 0;
    
    void dfs(int start, int rest, int cnt)
    {
        if(cnt == 1)
        {
            ans++;
            return;
        }
        
        for(int i = start; i <= rest / cnt; ++i)
        {
            dfs(i, rest - i, cnt - 1);
        }
    }
    
    int main()
    {
        int n, k;
        cin >> n >> k;
        ans = 0;
        dfs(1, n, k);
        cout << ans << endl;
        return 0;
    }
    
    • 1

    信息

    ID
    5147
    时间
    1000ms
    内存
    125MiB
    难度
    5
    标签
    递交数
    98
    已通过
    35
    上传者