POJ1664

#include<iostream>
using namespace std;
int solve(int m,int n){
    if(n==1||m==1||n==0)
        return 1;
    if(m<n)     return solve(m,m);
    else        return solve(m,n-1)+solve(m-n,n);
}
int main(){
    int t,m,n;
    cin>>t;
    while(t--){
        cin>>m>>n;
        cout<<solve(m,n)<<endl;
    }
}

 思路来自于CSDN博客,原作者忘记了

大多数想法要么平庸,要么更糟糕,这很大程度上因为绝妙的想法难得一见,而且他们还要在我们身边这个充斥了各种恶俗的所谓常识的环境中孕育生长。
原文地址:https://www.cnblogs.com/linux0537/p/6143591.html