#1040. 出栈序列统计(版本I:选1_P84)
出栈序列统计(版本I:选1_P84)
Description
栈是常用的一种数据结构,有n个元素在栈顶端一侧等待进栈,栈顶端另一侧是出栈序列。你已经知道栈的操作有两种:push和pop,前者是将一个元素进栈,后者是将栈顶元素弹出。现在要使用这两种操作,由一个操作序列可以得到一系列的输出序列。
请你编程求出对于给定的n,计算并输出由操作数序列1,2,...,n,经过一系列操作可能得到的输出序列总数。
Format
Input
输入两个正整数n,k(1<=n<=1000,n表示n个元素,k表示栈的大小k<=n)。
Output
输出若干行,每行给出可能的出栈序列。
最后一行,输出可行的出栈序列总数量。
Samples
3 2
1 2 3
1 3 2
2 1 3
2 3 1
4
Limitation
1s, 1024KiB for each test case.
说明:本题是教材P84的通用版,若输入k>=n时,则为教材中统计的所有出栈序列。
相关
在以下作业中: