2 条题解

  • 0
    @ 2023-5-2 9:11:08

    从小到大地划分

    #include<bits/stdc++.h>
    #define int long long
    #define endl "\n"
    #define MOD 998244353
    using namespace std;
    int n,k,ans;
    //x记录上一个选的数,并且要求这次选的数要不小于上次选的数
    void dfs(int x,int now,int sum)
    {
    //	cout<<x<<" "<<now<<" "<<sum<<endl;
    	if(now==k)
    	{
    		if(sum<=n-x)
    		{
    			ans++;
    //			cout<<ans<<endl;
    		}
    		return;
    	}
    	for(int i=x;sum+i<=n;i++)
    		dfs(i,now+1,sum+i);
    //	book[x][k-now]=0;
    	return;
    }
    signed main()
    {
    	ios::sync_with_stdio(false);
    	cin.tie(0);
    	cin>>n>>k;
    	dfs(1,1,0);
    	cout<<ans<<endl;
    	return 0;
    }
    

    信息

    ID
    659
    时间
    1000ms
    内存
    512MiB
    难度
    5
    标签
    递交数
    26
    已通过
    13
    上传者