题目链接:https://www.cometoj.com/problem/1907
#include <iostream>
#include <algorithm>
using namespace std;
int t, M, N, ans, sum;
void Ans(int m, int n) //第n个盘子放m个
{
if(n == N + 1)
{
if(sum == M)
ans++;
return;
}
for (int i = m; i <= M; i++)
{
sum += i;
if(sum <= M)
Ans(i, n + 1);
sum -= i;
}
}
int main()
{
cin >> t;
while (t--)
{
cin >> M >> N;
ans = 0, sum = 0;
Ans(0, 1);
cout << ans << endl;
}
return 0;
}