赞
踩
关注,点赞,收藏!
关注,点赞,收藏!
关注,点赞,收藏!
关注,点赞,收藏!
关注,点赞,收藏!关注,点赞,收藏!
关注,点赞,收藏!
关注,点赞,收藏!
关注,点赞,收藏!
关注,点赞,收藏!
关注,点赞,收藏!
关注,点赞,收藏!
关注,点赞,收藏!
关注,点赞,收藏!
关注,点赞,收藏!
将整数n分成k份,且每份不能为空,任意两种不能相同(不考虑顺序)。
例如:n=7,k=3,下面三种分法被认为是相同的。
1,1,5;
1,5,1;
5,1,1;
问有多少种不同的分法。
每个测试文件只包含一组测试数据,每组输入两个整数n和k(6<n<=200,2<=k<=6)。
对于每组输入数据,输出一个整数,即不同的分法。
下面是对样例数据的说明:
样例中的四种分法是:
1,1,5
1,2,4
1,3,3
2,2,3
7 3
4
- #include<bits/stdc++.h>
- using namespace std;
- int a[25],s,n,m;
- void dfs(int d,int r){
- if(d==m+1){
- if(r==0){
- if(d>=1){s+=1;}}}else{
- for(int i=a[d-1];i<=r;i++){
- a[d]=i;
- dfs(d+1,r-i);}}}
- int main(){
- cin>>n>>m;a[0]=1;dfs(1,n);cout<<s;
- return 0;}
关注,点赞,收藏!
关注,点赞,收藏!
关注,点赞,收藏!
关注,点赞,收藏!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。