暴力出每个盘子的可能
为了避免重复,下一个盘子要大于等于上一个盘子的个数
#include<iostream>
#include<cstring>
#include<cstdio>
#include<queue>
#include<stack>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
int a,b,cnt=0;
int c[100];
void dfs(int index,int sum,int last){
if(index==b&&sum==a){
cnt++;
return ;
}
if(index==b||sum>a) return;
for(int i=last;i<=a;i++){
dfs(index+1,sum+i,i);
}
}
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a>>b;
cnt=0;
dfs(0,0,0);
cout<<cnt<<endl;
}
return 0;
}