poj放苹果1664
其实我已经有思路,也想到了递归,可惜还是没能写出,看到有位仁兄也是用递归,还是如此简洁,不得不服递归之美,下次思考也是从最简单思考,
这样思路清晰许多,代码如下:
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include <iostream>
#include <algorithm>
using namespace std;
int sum(int n,int m)
{
if (n == 1 || n == 0 || m == 1)
return 1;
else if (n < m)
return sum(n,n);
else
return sum(n-m,m)+sum(n,m-1);
}
int main()
{
int c,n,m;
cin>>c;
while(c--)
{
cin>>n>>m;
cout<<sum(n,m)<<endl;
}
return 0;
}