解题思路:
注意事项:
参考代码:
#include<bits/stdc++.h> using namespace std; int n, m, ans; void dfs(int k,int s,int last){//k是第几个数字,s是前k个数字的和 if(k == m + 1){ if(n == s) ans++; return; } for(int i=last;i<=n-s;i++){ dfs(k+1,s+i,i); } } int main(){ cin>>n>>m; dfs(1,0,1); cout<<ans; return 0; }
0.0分
0 人评分