您的位置:首页 > 其它

P1025 数的划分

2017-08-29 15:26 225 查看
/*
题型:递归,排列组合
定义:把一个数N分解为K份,他的方案数把N-i(1<=i<=M/K)分成k-1份的方案数(之和)相等
注意:g要定义在函数开头,边界条件注意
*/
#include<bits/stdc++.h>
using namespace std;
int dfs(int sum,int step,int now)
{
int g=0;
if(step==1) return g=1;//边界条件
for(int i=now;i<=sum/step;i++)//从now枚举,防止重复
g+=dfs(sum-i,step-1,i);//统计方案和
return g;
}
int main()
{
int n,k;
cin>>n>>k;
cout<<dfs(n,k,1);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: