#include <bits/stdc++.h>
//#include <iostream>
using namespace std;
int n,k,ans=0;
void dfs(int pre,int x,int co){
if(co>=k){
if(x==n)
ans++;
return ;
}
for(int i=pre;i<=n;i++){ //每次从上一个取到的值开始遍历,防止相同方案重复计算
if(i+x>n){
break;
}else{
x=x+i;
co++;
dfs(i,x,co);//将当前取到的值传入pre
x=x-i;
co--;
}
}
return ;
}
int main(){
cin>>n>>k;
dfs(1,0,0);
cout<<ans;
return 0;
}

京公网安备 11010502036488号