x星球出入站(蓝桥杯递归)
题目:
X星球特别讲究秩序,所有道路都是单行线。
一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行。
路边有个死胡同,只能容一辆车通过,是临时的检查站,如图所示。
X星球太死板,要求每辆路过的车必须进入检查站,也可能不检查就放行,也可能仔细检查。
如果车辆进入检查站和离开的次序可以任意交错。那么,该车队再次上路后,可能的次序有多少种?
为了方便起见,假设检查站可容纳任意数量的汽车。
显然,如果车队只有1辆车,可能次序1种;2辆车可能次序2种;3辆车可能次序5种。
分析:可以运用递归来对题目进行分析,这里运用递归需要搞清楚两件事,参数和出口。找对参数是此题相对比较重要的步骤,我们假设这里等待入站的车辆为a,在站中的车辆为b,等待入站车辆与在站中的车辆存在一定关系,即分为两种情况,①车辆进入检查站,则a-1,b+1, ②车辆出检查站,则a不变,b-1。
fun(a-1,b+1) + fun(a,b-1)
那么什么时候是出口呢?我们想,等待入站车辆如果没有了,自然车队顺序也就一定了,即当 a=0 时,还有一种情况,就是当b=0,车辆会入站一辆,即 a-1,b为1。
代码如下
if(a==0)return 1;
if(b==0)return fun(a-1,1);
所以完整的java代码如下:
package 算法.递归;public class Demo2 {public static void main(String[] args) {System.out.println(fun(16,0));}private static int fun(int a, int b) {if(a==0)return 1;if(b==0)return fun(a-1,1);return fun(a-1,b+1) + fun(a,b-1);}}
x星球出入站(蓝桥杯递归)相关推荐
- java 递归习题训练,Java蓝桥杯——递归练习题:走台阶(偶数版)
递归练习题:走台阶(偶数版) 小明刚刚看完电影<第39级台阶>.离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个 ...
- 蓝桥杯-递归求二项式系数值(java)
算法训练 6-1 递归求二项式系数值 时间限制:10.0s 内存限制:256.0MB问题描述样例输入一个满足题目要求的输入范例.3 10样例输出与上面的样例输入对应的输出.数据规模和约定输入数据中每一 ...
- Java 地下迷宫·算法·(ACM/蓝桥杯)·递归解法
题目:小青蛙有一天不小心落入了一个地下迷宫,小青蛙希望用自己仅剩的体力值P跳出这个地下迷宫.为了让问题简单,假设这是一个n*m的格子迷宫,迷宫每个位置为0或者1,0代表这个位置有障碍物,小青蛙达到不了 ...
- 蓝桥杯-递归-母牛生小母牛
题目 1004: [递归]母牛的故事 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? 输入 输入数据由多个测试实例组 ...
- 水洼数 DFS 蓝桥杯 java代码
水洼数 DFS 蓝桥杯 java代码 有一个大小为N * M的院子,雨后积起了水,八连通的积水被认为是连在一起的,请求出园子里面总共有多少水洼 限制条件 N, M <=100 10 12 W.. ...
- 蓝桥杯 出栈顺序问题引发的思考以及递归的优化(缓存池)
蓝桥杯 出栈顺序问题引发的思考以及递归的优化(缓存池) 关于递归的优化和思考 在我们IT圈内有句话,普通程序员用迭代,天才程序员用递归.诚然,递归确实能够将许多复杂的问题简化,但是问题来了,由于递归采 ...
- 蓝桥杯练习 小明上楼梯(递归设计)
小白上楼梯(递归设计) 题目 思路 源代码 题目 小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶,2阶或者3阶,实现一个方法,计算小白有多少种走完楼梯的方法. 思路 可以发现,这道题就跟求斐波那契 ...
- Java算法学习:蓝桥杯——地宫寻宝(DFS+动态规划—记忆型递归)
Java算法学习:蓝桥杯--地宫寻宝(DFS✖记忆型递归) 题目: 标题:地宫取宝X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签.地宫的入口在左上角,出 ...
- 【蓝桥杯】 次数差:x 星球有 26 只球队,分别用 a ~ z 的 26 个字母代表。他们总是不停地比赛。 在某一赛段,哪个球队获胜了,就记录下代表它的字母,这样就形成一个长长的串。 国王...
[蓝桥杯] 次数差 题目描述 解题代码 C语言 法一 法二 测试用例 题目描述 题目传送门 >> 次数差 [问题描述] x 星球有 26 只球队,分别用 a ~ z 的 26 个字母代表. ...
- 蓝桥杯之未名湖边的烦恼-递归极简版(c++实现)
上文链接:蓝桥杯之Remember the A La Mode-需要谨慎处理逻辑关系(c++实现) 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 每年冬天,北大未名湖上都是滑冰的好 ...
最新文章
- C++基础知识(二)--左值右值--逻辑表达式求值优化--逗号运算符与表示式--输入输出格式控制...
- OpenCV中向量是可以转化为MAT类型的~
- 【性能优化】之 BITMAP 及分区表 的演示
- Nginx重要结构request_t解析之http请求的获取
- MobX快速入门教程(重要概念讲解)
- html5 deckview,六本木Hills出現超大型巨人?進擊的巨人展FINAL×頂樓Sky Deck的VR體驗...
- STM32F407 开发环境搭建 程序下载 个人笔记
- 种草!这只鹅虽然没有什么用,但是好可爱呀!
- Spring boot的Maven配置依赖
- jeecg集成积木报表错误_6688种玩法的电子积木,是什么体验?「中外玩具网测评」...
- 分辨率_电视分辨率多少合适
- FastStone Capture滚动截屏丢失行解决办法
- Dorado7之AjaxAction
- C语言 矩阵相似度
- boost noncopyable实现与ADL
- Android7.1.1新增Shortcuts快捷方式,让App更加快捷方便
- MacTeX的使用心得
- 华为云与计算机,华为云电脑和达龙云电脑
- Android 地图导航调用百度地图、高德地图、腾讯地图,ffmpeg音视频开发实战5
- 高中计算机学什么软件,高中学业水平考试的计算机上机考试考的是啥软件
热门文章
- 筋膜枪按摩眼睛?后果很严重
- 抓取Momentum图片
- android点击按钮执行adb命令,Android 按键事件及adb命令模拟
- Mud Puddles ( bfs )
- pgsql依赖性追踪
- kali安装WingIDE遇到软件依赖性问题的处理
- 【读论文】Multiple Kernel Learning, Conic Duality, and the SMO Algorithm(2004)
- [Cydia] 使用Cydia安装iPA破解补丁教程
- Android如何实现超级棒的沉浸式体验
- 孙式无极桩站桩要领--林泰年