1 条题解

  • 0
    @ 2025-4-7 21:59:21
    #include <iostream>
    #define endl '\n'
    #define int long long 
    
    using namespace std;
    
    int n,k;
    int arr[100010];
    int res;
    int st[100010];
    
    int dfs(int n,int k,int start)
    {
        if(k==1)
        {
            if(n>0) return 1;
            else return 0;
        }
        else if(n==k) return 1;
        else if(n<k) return 0;
        else
        {
            int cnt=0;
            for(int i=start;i<=n/k;i++)
            {
                cnt+=dfs(n-i,k-1,i);
            }
            return cnt;
        }
    }
    
    signed main()
    {
        ios::sync_with_stdio(false);
        cin.tie(0);
        cout.tie(0);
        cin>>n>>k;
        cout<<dfs(n,k,1)<<endl;
        return 0;
    }
    

    信息

    ID
    2136
    时间
    1000ms
    内存
    125MiB
    难度
    10
    标签
    递交数
    4
    已通过
    2
    上传者