标题:出栈次序

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语言 · 出栈次序相关推荐

  1. ABCDE-入栈,不可能的出栈次序

    ABCDE 入栈,不可能的出栈次序是? 实际上最简单的办法是用笔记录一下 比如验证CDEBA的顺序可不可能,那么C先出栈于是栈应该是 C (先压入3,再弹出4) B (压入2) A (压入1) 然后弹 ...

  2. 为什么二叉树的前序遍历和中序遍历对应入栈和出栈次序?

    对一棵树或者子树进行先序或者中序遍历时入栈顺序相同. 都是根节点.左子树.右子树,(注意是入栈) 先序访问后入栈,中序出栈后访问, 则先序序列就是入栈顺序,中序序列就是出栈顺序. 卡特兰数应用之出栈次 ...

  3. 栈的出栈次序及次序种类

    学过数据结构的程序猿应该都清楚,栈是一种先入后出,后入先出(LIFO)的表.即插入和删除都只能在一个位置上进行,即栈顶位置.对栈的基本操作有Push(入栈)和Pop(出栈).在一般软件研发的笔试中,就 ...

  4. 蓝桥杯—出栈次序 (JAVA)

    题目描述: X星球特别讲究秩序,所有道路都是单行线.一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行. 路边有个死胡同,只能容一辆车通过,是临时的检查站,如上图所示. X星球太死 ...

  5. c语言出栈入栈指针的管理,设计顺序栈有关入栈和出栈的操作算法

    问题描述: 设有两个栈s1.s2都釆用顺序栈方式,并且共享一个存储区[0, -, maxsize-1],为了尽量利用空间,减少溢出的可能,可釆用栈顶相向.迎面增长的存储方式.试设计s1.s2 有关入栈 ...

  6. 14国2-出栈次序(X星球特别讲究秩序,所有道路都是单行线。一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行。 路边有个死胡同,只能容一辆车通过,是临时的检查站,如图所示。)

    问题描述 X星球特别讲究秩序,所有道路都是单行线.一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行. 路边有个死胡同,只能容一辆车通过,是临时的检查站,如图所示. X星球太死板, ...

  7. 数据结构:顺序栈基本操作(入栈和出栈)C语言详解(转载)by解学武

    本文为解学武教程的免费章节 什么是顺序栈 顺序栈,即用顺序表实现栈存储结构.通过前面的学习我们知道,使用栈存储结构操作数据元素必须遵守 "先进后出" 的原则,本节就 "如 ...

  8. c语言堆栈基本代码入栈出栈_顺序栈基本操作(入栈和出栈)C语言详解

    顺序,即用{1,2,3,4},存储状态如 图 1 顺序表存储 {1,2,3,4} 同样,使用栈存储结构存储 {1,2,3,4},其存储状态如图 2 所示: 图 2 栈结构存储 {1,2,3,4} 通过 ...

  9. [Catalan]求解随机出栈可能数(洛谷P1044题题解,Java语言描述)

    题目要求 P1044题目链接 分析 题意就是:N个数依次进栈,可随机出栈,算一下可能的出栈序列数. 其实这个就是Catalan啊,如果数据结构与算法有一定的刷题积累的学生应该经常做这样的About栈的 ...

最新文章

  1. java中rs怎么用_java-如何使用JAX-RS设置字符集?
  2. java类加载器_类加载器
  3. Nginx 作为代理服务与负载均衡
  4. 魔术方法 类 序列化_Java序列化魔术方法及其示例使用
  5. 字符串处理函数和函数
  6. 普通域用户设置共享文件夹
  7. shel脚本中怎么引用文件_Linux shell脚本中如何读取跟shell脚本同一目录下的配置文件...
  8. SQL—— Create table as select 与 使用select查询结果创建新表
  9. Hadoop Hive与Hbase关系 整合
  10. ipad 计算机连接网络设置方法,iPad Air怎么设置上网?苹果平板常用的上网方法图解...
  11. 单循环赛 贝格尔编排法实现
  12. 游戏鼠标的dpi测试软件,鼠标dpi查看_自己就可以测试鼠标的DPI
  13. Adams隐式4阶方法解常微分方程,fortran实现
  14. java 串口 中文乱码_Java 实现 POS 打印机无驱串口打印(解决中文乱码)
  15. eccv 2018 image caption generation论文导读
  16. linux设备驱动七(时间、延迟及延缓操作)
  17. IDEA 查找某个 jar 包是如何被引入的
  18. c语言编译通过无法运行程序,请教:这是一个模拟寒食薛定锷方程的程序,编译通过后但无法运行...
  19. 小白学习Java第二十六天
  20. 电商sku组合查询状态细究与实现

热门文章

  1. Linux之《荒岛余生》(二)CPU篇
  2. matlab张量工具初步
  3. 脚本安装smokeping
  4. Spring Roo 简介
  5. 浏览器angent分析工具
  6. javascript真的是异步的吗?且看setTimeout的实现原理以及setTimeout(0)的使用场景
  7. BZOJ 3170: [Tjoi 2013]松鼠聚会 切比雪夫距离
  8. Scheme N皇后
  9. Unity Mono
  10. Portable项目类型之前多个目标类型共享代码的方式