您的位置:首页 > 其它

递推递归专题 N 青蛙过河

2017-03-30 22:43 197 查看
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、找前一个和后一个的关系,找出递推公式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: