求调,调者关
查看原帖
求调,调者关
1101266
Fe_CuSO4__FeSO4_Cu楼主2024/10/23 20:55
#include <bits/stdc++.h>
using namespace std;
#define N 10
int fillin[N];
int sum,m,sum1;
void dfs(int s,int x,int all)
{
    if(all>m) return;//大于m : pass
    if(m-all>sum-s) return;//还没填的比已经填的的和与总数的差小的pass
	if(s==sum&&all==m)//相等+1
	{
		sum1++;
		return;
	}
	for(int i=fillin[x-1];i<=sum-s;i++)//填数字,要保证该序列为不下降的序列
	{
		fillin[x]=i;
		dfs(s+i,x+1,all+1);
	}
}
int main()
{
    std::ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    cin>>sum>>m;
    fillin[0]=1;
    dfs(0,1,0);
    cout<<sum1;
	return 0;
}
2024/10/23 20:55
加载中...