题目名称 | 1033. [NOIP 2003]栈 |
---|---|
输入输出 | stack.in/out |
难度等级 | ★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 5 |
题目来源 | 王者自由 于2012-08-21加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:127, 提交:172, 通过率:73.84% | ||||
_Itachi | 100 | 0.000 s | 0.00 MiB | C++ |
_Itachi | 100 | 0.000 s | 0.00 MiB | C++ |
Respawn | 100 | 0.000 s | 0.00 MiB | C++ |
destiny | 100 | 0.000 s | 0.00 MiB | C++ |
Hzoi_chairman | 100 | 0.000 s | 0.00 MiB | C++ |
金身人面兽 | 100 | 0.000 s | 0.00 MiB | C++ |
Respawn | 100 | 0.000 s | 0.00 MiB | C++ |
疯不觉 | 100 | 0.000 s | 0.00 MiB | C++ |
派特三石 | 100 | 0.000 s | 0.00 MiB | C++ |
Rapiz | 100 | 0.000 s | 0.00 MiB | C++ |
关于 栈 的近10条评论(全部评论) | ||||
---|---|---|---|---|
Catalan数的妙用
Shirry
2017-07-05 20:29
9楼
| ||||
不想写高精度,小用了一下勒让得
| ||||
这排版太鬼畜了,求修复
Janis
2016-08-05 20:55
7楼
| ||||
递推。。。。。。。
| ||||
想不到竟有如此水题。。。
devil
2015-06-28 16:58
5楼
| ||||
回复 @752199526 :
借你的表一用
水中音
2014-10-23 06:28
4楼
| ||||
回复 @沉默的羔羊 :
为何用高精。。
奶猹
2014-10-22 18:33
3楼
| ||||
回复 @Letter zZZz :
借你的表一用
752199526
2014-04-25 14:32
2楼
| ||||
Catalan数列,打表党万岁!
|
栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。
栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进栈)。
栈的重要性不言自明,任何一门数据结构的课程都会介绍栈。宁宁同学在复习栈的基本概念时,想到了一个书上没有讲过的问题,而他自己无法给出答案,所以需要你的帮忙。
宁宁考虑的是这样一个问题:一个操作数序列,从1,2,一直到n(图示为1到3的情况),栈A的深度大于n。
现在可以进行两种操作,
1.将一个数,从操作数序列的头端移到栈的头端(对应数据结构栈的push操作)
2.将一个数,从栈的头端移到输出序列的尾端(对应数据结构栈的pop操作)
使用这两种操作,由一个操作数序列就可以得到一系列的输出序列,下图所示为由1 2 3生成序列2 3 1的过程。(原始状态如上图所示)
你的程序将对给定的n,计算并输出由操作数序列1,2,…,n经过操作可能得到的输出序列的总数。
输入只含一个整数n(1≤n≤18)。
输出只有一行,即可能输出序列的总数目。
3
5