题目:
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星球出入站(蓝桥杯递归)相关推荐

  1. java 递归习题训练,Java蓝桥杯——递归练习题:走台阶(偶数版)

    递归练习题:走台阶(偶数版) 小明刚刚看完电影<第39级台阶>.离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个 ...

  2. 蓝桥杯-递归求二项式系数值(java)

    算法训练 6-1 递归求二项式系数值 时间限制:10.0s 内存限制:256.0MB问题描述样例输入一个满足题目要求的输入范例.3 10样例输出与上面的样例输入对应的输出.数据规模和约定输入数据中每一 ...

  3. Java 地下迷宫·算法·(ACM/蓝桥杯)·递归解法

    题目:小青蛙有一天不小心落入了一个地下迷宫,小青蛙希望用自己仅剩的体力值P跳出这个地下迷宫.为了让问题简单,假设这是一个n*m的格子迷宫,迷宫每个位置为0或者1,0代表这个位置有障碍物,小青蛙达到不了 ...

  4. 蓝桥杯-递归-母牛生小母牛

    题目 1004: [递归]母牛的故事 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? 输入 输入数据由多个测试实例组 ...

  5. 水洼数 DFS 蓝桥杯 java代码

    水洼数 DFS 蓝桥杯 java代码 有一个大小为N * M的院子,雨后积起了水,八连通的积水被认为是连在一起的,请求出园子里面总共有多少水洼 限制条件 N, M <=100 10 12 W.. ...

  6. 蓝桥杯 出栈顺序问题引发的思考以及递归的优化(缓存池)

    蓝桥杯 出栈顺序问题引发的思考以及递归的优化(缓存池) 关于递归的优化和思考 在我们IT圈内有句话,普通程序员用迭代,天才程序员用递归.诚然,递归确实能够将许多复杂的问题简化,但是问题来了,由于递归采 ...

  7. 蓝桥杯练习 小明上楼梯(递归设计)

    小白上楼梯(递归设计) 题目 思路 源代码 题目 小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶,2阶或者3阶,实现一个方法,计算小白有多少种走完楼梯的方法. 思路 可以发现,这道题就跟求斐波那契 ...

  8. Java算法学习:蓝桥杯——地宫寻宝(DFS+动态规划—记忆型递归)

    Java算法学习:蓝桥杯--地宫寻宝(DFS✖记忆型递归) 题目: 标题:地宫取宝X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签.地宫的入口在左上角,出 ...

  9. 【蓝桥杯】 次数差:x 星球有 26 只球队,分别用 a ~ z 的 26 个字母代表。他们总是不停地比赛。 在某一赛段,哪个球队获胜了,就记录下代表它的字母,这样就形成一个长长的串。 国王...

    [蓝桥杯] 次数差 题目描述 解题代码 C语言 法一 法二 测试用例 题目描述 题目传送门 >> 次数差 [问题描述] x 星球有 26 只球队,分别用 a ~ z 的 26 个字母代表. ...

  10. 蓝桥杯之未名湖边的烦恼-递归极简版(c++实现)

    上文链接:蓝桥杯之Remember the A La Mode-需要谨慎处理逻辑关系(c++实现) 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 每年冬天,北大未名湖上都是滑冰的好 ...

最新文章

  1. C++基础知识(二)--左值右值--逻辑表达式求值优化--逗号运算符与表示式--输入输出格式控制...
  2. OpenCV中向量是可以转化为MAT类型的~
  3. 【性能优化】之 BITMAP 及分区表 的演示
  4. Nginx重要结构request_t解析之http请求的获取
  5. MobX快速入门教程(重要概念讲解)
  6. html5 deckview,六本木Hills出現超大型巨人?進擊的巨人展FINAL×頂樓Sky Deck的VR體驗...
  7. STM32F407 开发环境搭建 程序下载 个人笔记
  8. 种草!这只鹅虽然没有什么用,但是好可爱呀!
  9. Spring boot的Maven配置依赖
  10. jeecg集成积木报表错误_6688种玩法的电子积木,是什么体验?「中外玩具网测评」...
  11. 分辨率_电视分辨率多少合适
  12. FastStone Capture滚动截屏丢失行解决办法
  13. Dorado7之AjaxAction
  14. C语言 矩阵相似度
  15. boost noncopyable实现与ADL
  16. Android7.1.1新增Shortcuts快捷方式,让App更加快捷方便
  17. MacTeX的使用心得
  18. 华为云与计算机,华为云电脑和达龙云电脑
  19. Android 地图导航调用百度地图、高德地图、腾讯地图,ffmpeg音视频开发实战5
  20. 高中计算机学什么软件,高中学业水平考试的计算机上机考试考的是啥软件

热门文章

  1. 筋膜枪按摩眼睛?后果很严重
  2. 抓取Momentum图片
  3. android点击按钮执行adb命令,Android 按键事件及adb命令模拟
  4. Mud Puddles ( bfs )
  5. pgsql依赖性追踪
  6. kali安装WingIDE遇到软件依赖性问题的处理
  7. 【读论文】Multiple Kernel Learning, Conic Duality, and the SMO Algorithm(2004)
  8. [Cydia] 使用Cydia安装iPA破解补丁教程
  9. Android如何实现超级棒的沉浸式体验
  10. 孙式无极桩站桩要领--林泰年