最后的递归是什么意思

挂彩灯
时间限制 : 1 S | 内存限制 : 32768 KB
Accept : 15 | Submit : 60
[提交][讨论版]
描述
有一堆彩灯,红色绿色两种颜色,现在要把它们串在一起,要求每个红灯后面至少要有1个绿灯,求一共有多少种不同的串法

输入
第1行是一个正整数n,表示测试案例的数量

第2到第n + 1行是n组测试数据,每行数据有两个正整数,分别表示红灯的数量和绿灯的数量

输出
针对每行测试数据,输出不同的串法数量。(答案不会超过50万)

每组案例输出完都要换行。

样例输入
1

2 3

样例输出
3

#include<iostream>
using namespace std;
int fun(int a, int b);
int main()
{
    int n, a, b;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        cin >> a >> b;
        cout << fun(a, b) << endl;
    }

    return 0;
    
}
int fun(int a, int b)
{
    if (a > b)
    {
        return 0;
    }
    else if (a == b || a == 0)
    {
        return 1;
    }
    else
    {
        return fun(a, b - 1) + fun(a - 1, b - 1);
    }
}

暂时停止当前函数,直接运行另一函数