第五届决赛 —— 题2 —— 出栈次序

2024-01-16 21:18
文章标签 次序 决赛 第五届 出栈

本文主要是介绍第五届决赛 —— 题2 —— 出栈次序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

X星球特别讲究秩序,所有道路都是单行线。一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行。

路边有个死胡同,只能容一辆车通过,是临时的检查站,如图所示。

X星球太死板,要求每辆路过的车必须进入检查站,也可能不检查就放行,也可能仔细检查。

如果车辆进入检查站和离开的次序可以任意交错。那么,该车队再次上路后,可能的次序有多少种?
为了方便起见,假设检查站可容纳任意数量的汽车。
显然,如果车队只有1辆车,可能次序1种;2辆车可能次序2种;3辆车可能次序5种。


现在足足有16辆车啊,亲!需要你计算出可能次序的数目。




题目分析:

首先要理解题意,要求每辆路过的车必须进入检查站,也就是说不能直接开走。

就按照图中的来看,假设开始从左到右等待进站的三辆车为1 2 3, 那么这三辆车离开的次序就有5种情况分别是:321 312  213 231 123。

1 3 2的情况是不可能的,如果说1是第一个出站的,那么三辆车肯定都已经按照3 2 1的顺序进入了检查站中,那么出来的顺序只能是1 2 3。

分析可知,我们只需要考虑左边等待进站的车的数量和站中车辆的数量,至于右边,也就是到底已经开走了几辆,是没有影响的。

public class Main {// a:等待进站的车辆数// b:站中的车辆数static int f(int a, int b) {if (a == 0)return 1; //如果全部进站了,则只有一种出站方式if (b == 0)return f(a - 1, 1);// 如果站中没有车,则让一辆车进栈return f(a - 1, b + 1) + f(a, b - 1);// 左边有一辆进栈的情况 + 栈中的开走了的情况}public static void main(String[] args) {System.out.println(f(16, 0));}
}
答案:35357670



这篇关于第五届决赛 —— 题2 —— 出栈次序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/613922

相关文章

P7492 [传智杯 #3 决赛] 序列

*原题链接* 一道类似势能线段树的题,区间按位或上k,不满足区间可合并的性质,只能暴力的单点修改。 但是考虑按位或的性质,一个数或上另一个数,只会变大或不变,如果我们能找到一个方法,能够判定区间里的数,或上k后是否有改变,就可以避免的暴力了。我一开始想的是线段树里维护一个的数组,表示区间内所有数的二进制表示下某一位是否为1,但这太难写,最后无奈去看官方题解,发现只要维护区间所有数的按位与和An

东风汽车将出席第五届中国新能源汽车热管理创新国际峰会

2024第五届中国新能源汽车热管理创新国际峰会将于11月14-15日在上海召开。峰会将汇聚来自全球的行业专家、学者、企业领袖及技术精英,共同探讨新能源汽车热管理领域的最新技术成果和发展趋势。 本次峰会将涵盖整车热管理系统构建、新能源商用车热管理、智能热管理系统、先进冷却技术、环保材料应用等多个热点话题。参会者将有机会了解最新的技术进展,分享成功案例,探讨未来发展方向,寻找潜在的合作伙伴。作为新能

ABCDE 入栈,不可能的出栈次序是?

ABCDE 入栈,不可能的出栈次序是?   如果要列出所有可能的次序再去判断不可能的次序是一件成本非常高的事情。 所以这里面一定是有规律的。  试想,如果A是要在第一个出栈要怎么做:那定是A入栈,下一步就得立即出栈;如果B是要在第一出栈怎么做,那定是AB一起入栈后立即把B出栈。 所以规律是:答案中出栈的第一个元素是在原来的次序中是第几个,那么他的前面的元素必然都还在栈中。 如EDCBA

创新大赛决赛:如何让你的项目更上一层楼?

创新大赛决赛:如何让你的项目更上一层楼? 前言突出项目的核心价值指导老师的辅导作用制作优秀的PPT演讲和答辩的准备利用数据和案例增强说服力模拟答辩的重要性总结结语 前言   在当今这个快速变化的时代,创新不仅是推动社会进步的动力,也是个人和团队实现自我超越的途径。创新大赛,作为展现创新精神和实践能力的舞台,每年都吸引着来自不同领域、不同背景的参与者。他们带着满腔热情和独特的创意,

【IEEE独立出版,快检索 | 高录用】第五届IEEE信息科学与教育国际学术会议(ICISE-IE 2024,12月20-22)

第五届IEEE信息科学与教育国际学术会议(ICISE-IE 2024)定于2024年12月20至22日在中国湛江隆重举行。 ICISE-IE 2024将围绕“信息科学”与"教育”等相关最新研究领域,为来自国内外高等院校、科学研究所、企事业单位的专家、教授、学者、工程师等提供一个分享专业经验,扩大专业网络,面对面交流新思想以及展示研究成果的国际平台,探讨本领域发展所面临的关键性挑战问题和研究方

2024年第五届计算机与人工智能技术国际会议(CAIT 2024)即将召开!

第五届计算机与人工智能技术国际会议(CAIT)将于2024年12月20日至22日在中国浙江杭州举行。CAIT 2024的目标是将领先的研究人员、从业者和行业专家聚集在一起,分享知识,交流想法,并探索这个令人兴奋和动态领域的最新趋势和发展,该会议为与会者提供了一个平台,以了解该领域的新进展,与同行进行讨论,并建立新的合作关系,以进一步推进该领域。 会议官网:CAIT 2024 |

【ACM独立出版 | 厦大主办】第五届计算机科学与管理科技国际学术会议(ICCSMT 2024,10月18-20)

第五届计算机科学与管理科技国际学术会议(ICCSMT 2024) 定于2024年10月18-20日在中国厦门举行。 会议旨在为从事“计算机科学”与“管理科技”研究的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势,拓宽研究思路,加强学术研究和探讨,促进学术成果产业化合作的平台。大会诚邀国内外高校、科研机构专家、学者,企业界人士及其他相关人员参会交流。 I

微派(V-TOP)第五届企业微信营销培训取得圆满成功

12月19日电通东派成功举办了第五届微派(V-TOP)企业微信营销培训,这是2013年最后一次培训,随着微信营销的不断成长,企业主们热情高涨,到会的企业代表一届比一届多,此次《企业微信营销实战演练》培训会取得圆满成功。 培训现场     会后产品演示 培训会后,现场的企业主和嘉宾获邀在现场进行了新版本系统新增功能的试用体验!对新版本的功能和体验都给予了极高的评价,很

检测入栈出栈顺序是否正确的算法解析

检测入栈出栈顺序是否正确的算法解析 在计算机科学中,栈(Stack)是一种常见的数据结构,遵循后进先出(LIFO)的原则。在某些应用场景中,我们需要验证给定的入栈和出栈顺序是否合法。本文将详细解析一个用于判断入栈出栈顺序是否正确的算法。 问题描述 给定两个数组 a 和 b,分别表示入栈顺序和出栈顺序。我们需要判断是否可以通过一系列的入栈和出栈操作,使得最终的出栈顺序与数组 b 一致。 算法

2014 第五届蓝桥杯软件本科A组预赛题解 编程之 蚂蚁感冒(nyoj990)

长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。 【数据格式】 第一行输入一个整数n (1 < n < 50), 表示蚂蚁的总数。