转化为分苹果问题
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <vector>
#include <string>
#include <map>
#include <set>
#include <queue>
#include <string.h>
#include <math.h>
#include <stack>
#include <ctype.h>
using namespace std;
int dp(int m, int n)
{
if( m==1 || n==1)
return 1;
if( m==0 )
return 1;
else if( m < n )
return dp(m, m);
else if( m >= n )
return dp(m-n, n) + dp(m, n-1);
}
int n,k;
int main()
{
cin >> n >> k;
cout << dp(n-k, k)<<endl;
return 0;
}