#include<bits/stdc++.h>
using namespace std;
const int N=220;
int n,k;
int ans;
void dfs(int sum,int cnt,int last)//当前的和,用了几个数,上个数
{
if(cnt==k)
{
if(sum==n)
ans++;
// printf("return\n");
return;
}
for(int i=last;i<=n-sum;i++)
{
dfs(sum+i,cnt+1,i);
}
}
int main()
{
scanf("%d %d",&n,&k);
dfs(0,0,1);
printf("%d\n",ans);
}
P1025 [NOIP2001 提高组] 数的划分(dfs搜有顺序)
最新推荐文章于 2025-04-11 06:47:31 发布