//二话不说直接回溯
#include <iostream>
#include <vector>
using namespace std;
int result = 0;
void backTracking(int n ,int m,int index) {
//控制回溯的收集过程
if (m == 0) {
result++;
return;
}
for (int i = index; i <= m; i++) {
if (n == 0) continue;
backTracking(n - 1, m - i,i);//回溯要减去已经选过的,盘子数也要减少
}
}
int main() {
int m, n;
cin >> m >> n;
backTracking(n, m,1);
cout << result;
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号