C语言 · 出栈次序
标题:出栈次序
X星球特别讲究秩序,所有道路都是单行线。一个甲壳虫车队,共16辆车,按照编号先后发车, 夹在其它车流中,缓缓前行。
路边有个死胡同,只能容一辆车通过,是临时的检查站,如图【p1.png】所示。
X星球太死板,要求每辆路过的车必须进入检查站,也可能不检查就放行,也可能仔细检查。
如果车辆进入检查站和离开的次序可以任意交错。那么,该车队再次上路后,可能的次序有多少种?
为了方便起见,假设检查站可容纳任意数量的汽车。
显然,如果车队只有1辆车,可能次序1种;2辆车可能次序2种;3辆车可能次序5种。
现在足足有16辆车啊,亲!需要你计算出可能次序的数目。
这是一个整数,请通过浏览器提交答案,不要填写任何多余的内容(比如说明性文字)。
方法一:
1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 int main(){ 5 int sum=0; 6 int f[17]; 7 memset(f,0,sizeof(f));//注意要赋初值 8 f[0]=1; 9 f[1]=1; 10 f[2]=2; 11 f[3]=5; 12 for(int i=4;i<=16;i++){ 13 for(int j=0;j<=i-1;j++){ 14 f[i]+=f[j]*f[i-1-j]; 15 } 16 } 17 printf("%d",f[16]); 18 return 0; 19 }
方法二:
1 #include<stdio.h> 2 int ans=0; 3 void dfs(int n,int r,int i){ 4 if(n==32){ 5 ans++; 6 return; 7 } 8 if(r>i){ 9 if(r<16){ 10 dfs(n+1,r+1,i); 11 } 12 if(i<16){ 13 dfs(n+1,r,i+1); 14 } 15 }else{ 16 if(r==i){ 17 if(r<16){ 18 dfs(n+1,r+1,i); 19 } 20 } 21 } 22 return; 23 } 24 int main(){ 25 dfs(0,0,0); 26 printf("%d",ans); 27 return 0; 28 }
转载于:https://www.cnblogs.com/panweiwei/p/6682845.html
C语言 · 出栈次序相关推荐
- ABCDE-入栈,不可能的出栈次序
ABCDE 入栈,不可能的出栈次序是? 实际上最简单的办法是用笔记录一下 比如验证CDEBA的顺序可不可能,那么C先出栈于是栈应该是 C (先压入3,再弹出4) B (压入2) A (压入1) 然后弹 ...
- 为什么二叉树的前序遍历和中序遍历对应入栈和出栈次序?
对一棵树或者子树进行先序或者中序遍历时入栈顺序相同. 都是根节点.左子树.右子树,(注意是入栈) 先序访问后入栈,中序出栈后访问, 则先序序列就是入栈顺序,中序序列就是出栈顺序. 卡特兰数应用之出栈次 ...
- 栈的出栈次序及次序种类
学过数据结构的程序猿应该都清楚,栈是一种先入后出,后入先出(LIFO)的表.即插入和删除都只能在一个位置上进行,即栈顶位置.对栈的基本操作有Push(入栈)和Pop(出栈).在一般软件研发的笔试中,就 ...
- 蓝桥杯—出栈次序 (JAVA)
题目描述: X星球特别讲究秩序,所有道路都是单行线.一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行. 路边有个死胡同,只能容一辆车通过,是临时的检查站,如上图所示. X星球太死 ...
- c语言出栈入栈指针的管理,设计顺序栈有关入栈和出栈的操作算法
问题描述: 设有两个栈s1.s2都釆用顺序栈方式,并且共享一个存储区[0, -, maxsize-1],为了尽量利用空间,减少溢出的可能,可釆用栈顶相向.迎面增长的存储方式.试设计s1.s2 有关入栈 ...
- 14国2-出栈次序(X星球特别讲究秩序,所有道路都是单行线。一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行。 路边有个死胡同,只能容一辆车通过,是临时的检查站,如图所示。)
问题描述 X星球特别讲究秩序,所有道路都是单行线.一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行. 路边有个死胡同,只能容一辆车通过,是临时的检查站,如图所示. X星球太死板, ...
- 数据结构:顺序栈基本操作(入栈和出栈)C语言详解(转载)by解学武
本文为解学武教程的免费章节 什么是顺序栈 顺序栈,即用顺序表实现栈存储结构.通过前面的学习我们知道,使用栈存储结构操作数据元素必须遵守 "先进后出" 的原则,本节就 "如 ...
- c语言堆栈基本代码入栈出栈_顺序栈基本操作(入栈和出栈)C语言详解
顺序,即用{1,2,3,4},存储状态如 图 1 顺序表存储 {1,2,3,4} 同样,使用栈存储结构存储 {1,2,3,4},其存储状态如图 2 所示: 图 2 栈结构存储 {1,2,3,4} 通过 ...
- [Catalan]求解随机出栈可能数(洛谷P1044题题解,Java语言描述)
题目要求 P1044题目链接 分析 题意就是:N个数依次进栈,可随机出栈,算一下可能的出栈序列数. 其实这个就是Catalan啊,如果数据结构与算法有一定的刷题积累的学生应该经常做这样的About栈的 ...
最新文章
- java中rs怎么用_java-如何使用JAX-RS设置字符集?
- java类加载器_类加载器
- Nginx 作为代理服务与负载均衡
- 魔术方法 类 序列化_Java序列化魔术方法及其示例使用
- 字符串处理函数和函数
- 普通域用户设置共享文件夹
- shel脚本中怎么引用文件_Linux shell脚本中如何读取跟shell脚本同一目录下的配置文件...
- SQL—— Create table as select 与 使用select查询结果创建新表
- Hadoop Hive与Hbase关系 整合
- ipad 计算机连接网络设置方法,iPad Air怎么设置上网?苹果平板常用的上网方法图解...
- 单循环赛 贝格尔编排法实现
- 游戏鼠标的dpi测试软件,鼠标dpi查看_自己就可以测试鼠标的DPI
- Adams隐式4阶方法解常微分方程,fortran实现
- java 串口 中文乱码_Java 实现 POS 打印机无驱串口打印(解决中文乱码)
- eccv 2018 image caption generation论文导读
- linux设备驱动七(时间、延迟及延缓操作)
- IDEA 查找某个 jar 包是如何被引入的
- c语言编译通过无法运行程序,请教:这是一个模拟寒食薛定锷方程的程序,编译通过后但无法运行...
- 小白学习Java第二十六天
- 电商sku组合查询状态细究与实现