思路:考虑到要单独实现枚举比较麻烦,采用递归思想较易。
#include<iostream>
#include<cstdio>
using namespace std;
int sort(int M,int N)
{
if(N==1||N==0) return 1;
if(M<N) return sort(M,M);
return sort(M,N-1)+sort(M-N,N);
}
int main()
{
int count;
cin>>count;
int M[count],N[count];
for(int i=0;i<count;i++)
{
cin>>M[i]>>N[i]; //挨行输入数据
//对于每行给的M和N 计算相应的值;
cout<<sort(M[i],N[i])<<endl;
//注意不要少了换行 这里一边读一行 一边输出一行 与先读完再一次性输出 的判断效果一致
}
}