原题链接:鸣人的影分身
#include<iostream>
#define int long long
using namespace std;
int cnt=0;
int m,n;
void dfs(int u,int start,int sum)
{
if(u==n&&sum==0)
{
cnt++;
return;//注意这个不能重复,所以从当前开始,start
}
if(u>n)return;
for(int i=start;i<=sum;i++)
dfs(u+1,i,sum-i);
}
signed main()
{
ios::sync_with_stdio(0);//可以取消 C++ 输入输出流与 C 的输入输出流的同步
//从而提高输入输出的效率
cin.tie(0);
cout.tie(0);//将 cin 和 cout 解绑,即不会再自动刷新 cout 的缓冲区
int t;
cin>>t;
while(t--)
{
cnt=0;
cin>>m>>n;
dfs(0,0,m);
cout<<cnt<<endl;
}
return 0;
}