7-4 sdut-C语言实验-青蛙过河

简介: 7-4 sdut-C语言实验-青蛙过河

7-4 sdut-C语言实验-青蛙过河


分数 20


全屏浏览


切换布局


作者 马新娟


单位 山东理工大学


一条小溪尺寸不大,青蛙可以从左岸跳到右岸,在左岸有一石柱L,石柱L面积只容得下一只青蛙落脚,同样右岸也有一石柱R,石柱R面积也只容得下一只青蛙落脚。有一队青蛙从小到大编号:1,2,…,n。


初始时,青蛙只能趴在左岸的石头 L 上,按编号一个落一个,小的落在大的上面-----不允许大的在小的上面。


在小溪中有S个石柱、有y片荷叶。溪中的每个石柱上如果有多只青蛙也是大在下、小在上,每个荷叶只允许一只青蛙落脚。


对于右岸的石柱R,与左岸的石柱L一样允许多个青蛙落脚,但须一个落一个,小的在上,大的在下。


当青蛙从左岸的L上跳走后就不允许再跳回来;同样,从左岸L上跳至右岸R,或从溪中荷叶、溪中石柱跳至右岸R上的青蛙也不允许再离开。


那么在已知小溪中有 s 根石柱和 y 片荷叶的情况下,最多能跳过多少只青蛙?


###输入格式:

第一行输入一个整数 t, 代表有 t 组数据。(1 <= t <= 15)


每组占一行,每行包含2个数s(s是小溪中的石柱数目)、y(y是小溪中的荷叶数目)。(0 <= s <= 10 , 0 <= y <= 10)


###输出格式:

对每组输入,输出有一行,输出最多能跳过的青蛙数目。

###输入样例:

1. 2
2. 0 2
3. 1 2

###输出样例:

1. 3
2. 6


代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB


#include<stdio.h>
#include<stdlib.h>
int jump(int s, int y){
    int m;
    if(s == 0) m = y + 1;
    else m = jump(s - 1, y) * 2;
    return m;
}
int main()
{
    int s, y, sum;
    int t;
    scanf("%d", &t);
    while(t--){
        scanf("%d%d", &s, &y);
        sum = jump(s, y);
        printf("%d\n", sum);
    }//max
    return 0;
}
相关文章
|
8月前
递推 7-1 sdut-C语言实验-母牛的故事
递推 7-1 sdut-C语言实验-母牛的故事
40 0
|
8月前
递推 4----7-4 sdut-C语言实验-马拦过河卒
递推 4----7-4 sdut-C语言实验-马拦过河卒
94 0
|
8月前
7-9 sdut-C语言实验-商人小鑫
7-9 sdut-C语言实验-商人小鑫
33 1
|
8月前
7-6 sdut-C语言实验-爬楼梯
7-6 sdut-C语言实验-爬楼梯
38 0
|
8月前
7-10 sdut-C语言实验-商人的诀窍
7-10 sdut-C语言实验-商人的诀窍
44 1
C语言第二十一练——青蛙爬井
C语言第二十一练——青蛙爬井
361 0
|
8月前
递推7-2 sdut-C语言实验-养兔子分数
递推7-2 sdut-C语言实验-养兔子分数
33 0
|
8月前
7-2 sdut-C语言实验-汉诺塔
7-2 sdut-C语言实验-汉诺塔
43 0
|
8月前
7-2 sdut-C语言实验-删数问题(贪心法二)
7-2 sdut-C语言实验-删数问题(贪心法二)
54 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等