青蛙过河

Java实现 LeetCode 403 青蛙过河 403. 青蛙过河 一只青蛙想要过河。 假定河流被等分为 x 个单元格,并且在每一个单元格内都有可能放有一石子(也有可能没有)。 青蛙可以跳上石头,但是不可以跳入水中。 给定石子的位置列表(用单元格序号升序表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一个石子上)。 开始时, 青蛙默认已站在第一个石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元格1跳至单元格2)。 如果青蛙上一... 阅读详情

Problem Description
1)一条小溪尺寸不大,青蛙可以从左岸跳到右岸,在左岸有一石柱L,石柱L面积只容得下一只青蛙落脚,同样右岸也有一石柱R,石柱R面积也只容得下一只青蛙落脚。 2)有一队青蛙从小到大编号:1,2,…,n。 3)初始时:青蛙只能趴在左岸的石头 L 上,按编号一个落一个,小的落在大的上面-----不允许大的在小的上面。 4)在小溪中有S个石柱、有y片荷叶。 5)规定:溪中的每个石柱上如果有多只青蛙也是大在下、小在上,每个荷叶只允许一只青蛙落脚。 6)对于右岸的石柱R,与左岸的石柱L一样允许多个青蛙落脚,但须一个落一个,小的在上,大的在下。 7)当青蛙从左岸的L上跳走后就不允许再跳回来;同样,从左岸L上跳至右岸R,或从溪中荷叶、溪中石柱跳至右岸R上的青蛙也不允许再离开。 问题:在已知小溪中有 s 根石柱和 y 片荷叶的情况下,最多能跳过多少只青蛙?
Input
输入数据有多组,每组占一行,每行包含2个数s(s是小溪中的石柱数目)、y(y是小溪中的荷叶数目)。(0 <= s <= 10,0 <= y <= 10),输入文件直到EOF为止!
Output
对每组输入,输出有一行,输出最多能跳过的青蛙数目。
Sample Input
0 2
1 2
Sample Output
3
6

代码:

#include <stdio.h>
#include <stdlib.h>
int jump(int s,int y)
{
    int k;
    if(s==0)
        k=y+1;
    else k=2*jump(s-1,y);
    return k;
}
int main()
{
    int s,y;
    while(~scanf("%d%d",&s,&y))
    {

       printf("%d\n",jump(s,y));
    }



    return 0;
}
青蛙过河(递归) 本文来自于学校老师的课件,无来源地址。 青蛙过河 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 1)一条小溪尺寸不大,青蛙可以从左岸跳到右岸,在左岸有一石柱L,石柱L面积只容得下一只青蛙落脚,同样右岸也有一石柱R,石柱R面积也只容得下一只青蛙落脚。 2)有一队青蛙从小到大编... 阅读详情

相关推荐

青蛙过河问题

青蛙过河是一个非常有趣的智力游戏,其大意如下: 一条河之间有若干个石块间隔,有两队青蛙在过河,每队有3 只青蛙,如 图 10-19所示。这些 青蛙只能向前移动,不能向后移动,且一次只能有一只青蛙向前移动。在移动过程中,育蛙可以向 前面的空位中移动,不可一次跳过两个位置,但是可以跳过对方一只青蛙进入前面的一个空位。问 两队青蛙该如何移动才能够用最少的步数分别走向对岸? 先来分析一下青蛙过河问题。可

giver 2584

E - 青蛙过河

E - 青蛙过河 Description 1)一条小溪尺寸不大,青蛙可以从左岸跳到右岸,在左岸有一石柱L,石柱L面积只容得下一只青蛙落脚,同样右岸也有一石柱R,石柱R面积也只容得下一只青蛙落脚。 2)有一队青蛙从小到大编号:1,2,…,n。 3)初始时:青蛙只能趴在左岸的石头 L 上,按编号一个落一个,小的落在大的上面-----不允许大的在小的上面。 4)在小溪中有S个石柱、有y片荷叶。 5)规定:溪中的每个石柱上如果有多只青蛙也是大在下、小在上,每...

lqp1902的博客 565

P1244 青蛙过河

题目描述 有一条河,左边一个石墩(A区)上有编号为1,2,3,4,…,n的n只青蛙,河中有k个荷叶(C区),还有h个石墩(D区),右边有一个石墩(B区),如下图所示。n只青蛙要过河(从左岸石墩A到右岸石墩B),规则为: (1)石墩上可以承受任意多只青蛙,荷叶只能承受一只青蛙(不论大小); (2)青蛙可以:A→B(表示可以从A跳到B,下同),A→C,A→D,C→B,D→

hyj2004的博客 1245

403. 青蛙过河

一只青蛙想要过河。 假定河流被等分为x个单元格,并且在每一个单元格内都有可能放有一石子(也有可能没有)。 青蛙可以跳上石头,但是不可以跳入水中。 给定石子的位置列表(用单元格序号升序表示),请判定青蛙能否成功过河(即能否在最后一步跳至最后一个石子上)。开始时,青蛙默认已站在第一个石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元格1跳至单元格2)。 如果青蛙上一步跳跃了k个...

Umbrella Corporation 8248

【LeetCode】403. 青蛙过河

一只青蛙想要过河。假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有)。青蛙可以跳上石子,但是不可以跳入水中。给你石子的位置列表 stones(用单元格序号 升序 表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一块石子上)。开始时, 青蛙默认已站在第一块石子上,并可以假定它第一步只能跳跃 1 个单位(即只能从单元格 1 跳至单元格 2 )。如果青蛙上一步跳跃了 k 个单位,那么它接下来的跳跃距离只能选择为 k - 1、k 或 k + 1 个单位。

步子哥的博客 961

青蛙过河 [递推法]

计算并输出最多能有多少只青蛙可以根据以上规则顺利过河?有一条河,左边一个石墩(只青蛙要过河(从左岸石墩。区),右边有一个石墩(只青蛙可以按照规则过河。你的任务是对于给出的。

小天狼星_布莱克 的博客 1270

D - 青蛙过河

在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是s到t之间的任意正整数(包括s,t)。当青蛙跳...

zhouying2018的博客 1428

青蛙过河(递推)

有一条河,左边一个石墩(A区)上有编号为1,2,3,4,…,n的n只青蛙,河中有k个荷叶(c区),还有h个石墩(D区),右边有一个石墩(B区),如下图2-5所示。n只青蛙要过河(从左岸石墩A到右岸石墩B),

NOI2000 青蛙过河[递推]

也许更好的阅读体验 Description\mathcal{Description}Description 原题链接: Comet OJ 洛谷 大小各不相同的一队青蛙站在河左岸的石墩(记为A)上,要过到对岸的石墩(记为D)上去。河心有几片菏叶(分别记为Y1​…Ym​)Y1​…Ym​)Y1​…Ym​)和几个石墩(分别记为S1…Sn)S1…Sn)S1…Sn)。图示如下: 青蛙的站队和移动方法规则如下...

Morning_Glory_JR的博客 1548

C++实现青蛙过河问题

采用二分法解决青蛙过河问题。青蛙可以从左岸跳到右岸,在左岸有一石柱L,面积只容得下一只青蛙落脚,同样右岸也有一石柱R,面积也只容得下一只青蛙落脚。有一队青蛙从尺寸上一个比一个小。

青蛙过河 acm

ACM/ICPC 相关资料,希望对你们有用

c语言编程青蛙过河问题,趣味算法-青蛙过河

趣味编程-青蛙过河:两队青蛙,河左边3只,右边3只,青蛙过河要踩着石头,每次移动青蛙最多可以跳过对面的一只青蛙,但必须落在空的石头上。算法原则:每次只移动一只青蛙。1) 检查整个路径左侧青蛙越过右侧青蛙跳到空白石头上的情况;2) 检查整个路径右左侧青蛙越过左侧青蛙跳到空白石头上的情况;3) 检查整个路径左侧青蛙可以直接向右移动到空白石头上的情况,并且保证移动后向左的青蛙会与向右的青蛙相邻;4...

weixin_29234239的博客 2382

基于C++语言开发的青蛙过河小游戏(完整源码+可执行exe文件)

程序名称:基于C++语言开发的青蛙过河小游戏 编译环境:Visual C++ 游戏规则: -WSAD控制,ESC退到主界面,再按则退出。 -木板间隔是随机的。 -生命归零时游戏结束。 -渡河会导致1条河道速度+2。 -死亡会导致所有河道速度-1。 -青蛙出界或落水算死亡。 -不会在第一道出界。 -积分的算法是四条河道速度相加。 -金币留给以后扩展程序。 图片放在res文件夹里,请把res和frogger.exe放在同一个文件夹里 关于各种元件的代码分别写在以它们命名的cpp里。 几乎所有能改的常量都定义在constant.h里。

上一篇: 汉诺塔
下一篇: 计算组合数
Du_Chunfeng
博客等级 码龄8年 13粉丝 115原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值