递推递归专题 N 青蛙过河

1、简单描述

  一群青蛙从L到R,一开始青蛙们累积在一起小的在大的上面,可以直接从L跳到R上,中间有y片荷叶和s个石柱,石柱上的青蛙可以从大到小累积,而荷叶上只能待一个青蛙,最多有多少个青蛙可以跳到对岸?

2、思路

如果没有石柱只有荷叶,可以过荷叶数+1个青蛙。如果有一个石柱,先将L上小的青蛙移动到荷叶上----中间石柱         L----荷叶上----R         中间石柱-----荷叶------R。

多一个石柱,乘一个二倍关系。

# include <bits/stdc++.h>
using namespace std;
int jump(int r, int z)
{
    int k;
    if(r == 0)
    {
        k = z + 1;
    }else
    {
        k = jump(r - 1, z) * 2;
    }
    return k;
}
int main()
{
    int s, y;
    while(cin >> s >> y)
    {
        cout << jump(s, y) << endl;
    }

    return 0;
}
3、找前一个和后一个的关系,找出递推公式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值