递推递归专题 N 青蛙过河
2017-03-30 22:43
197 查看
1、简单描述
一群青蛙从L到R,一开始青蛙们累积在一起小的在大的上面,可以直接从L跳到R上,中间有y片荷叶和s个石柱,石柱上的青蛙可以从大到小累积,而荷叶上只能待一个青蛙,最多有多少个青蛙可以跳到对岸?
2、思路
如果没有石柱只有荷叶,可以过荷叶数+1个青蛙。如果有一个石柱,先将L上小的青蛙移动到荷叶上----中间石柱 L----荷叶上----R 中间石柱-----荷叶------R。
多一个石柱,乘一个二倍关系。
3、找前一个和后一个的关系,找出递推公式。
一群青蛙从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、找前一个和后一个的关系,找出递推公式。