题目名称 1033. [NOIP 2003]栈
输入输出 stack.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 5
题目来源 Gravatar王者自由 于2012-08-21加入
开放分组 全部用户
提交状态
分类标签
卡特兰数
分享题解
通过:127, 提交:172, 通过率:73.84%
Gravatar_Itachi 100 0.000 s 0.00 MiB C++
Gravatar_Itachi 100 0.000 s 0.00 MiB C++
GravatarRespawn 100 0.000 s 0.00 MiB C++
Gravatardestiny 100 0.000 s 0.00 MiB C++
GravatarHzoi_chairman 100 0.000 s 0.00 MiB C++
Gravatar金身人面兽 100 0.000 s 0.00 MiB C++
GravatarRespawn 100 0.000 s 0.00 MiB C++
Gravatar疯不觉 100 0.000 s 0.00 MiB C++
Gravatar派特三石 100 0.000 s 0.00 MiB C++
GravatarRapiz 100 0.000 s 0.00 MiB C++
关于 的近10条评论(全部评论)
1000分纪念!
神奇的Catalan数列......
详细解释:
catalan数列
Gravatar锝镆氪锂铽
2020-08-23 15:18 10楼
Catalan数的妙用
GravatarShirry
2017-07-05 20:29 9楼
不想写高精度,小用了一下勒让得
GravatarGo灬Fire
2016-11-17 19:03 8楼
这排版太鬼畜了,求修复
GravatarJanis
2016-08-05 20:55 7楼
递推。。。。。。。
GravatarVacaTionGOD
2015-08-19 09:44 6楼
想不到竟有如此水题。。。
Gravatardevil
2015-06-28 16:58 5楼
回复 @752199526 :
借你的表一用
Gravatar水中音
2014-10-23 06:28 4楼
回复 @沉默的羔羊 :
为何用高精。。
Gravatar奶猹
2014-10-22 18:33 3楼
回复 @Letter zZZz :
借你的表一用
Gravatar752199526
2014-04-25 14:32 2楼
Catalan数列,打表党万岁!
GravatarLetter zZZz
2014-03-21 20:45 1楼

1033. [NOIP 2003]栈

★   输入文件:stack.in   输出文件:stack.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题背景】

栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。

栈有两种最重要的操作,即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