传统题 1000ms 256MiB

出栈序列统计(版本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时,则为教材中统计的所有出栈序列。

【2025选修1:栈基础】

未认领
状态
已结束
题目
20
开始时间
2025-10-14 0:00
截止时间
2025-12-31 23:59
可延期
24 小时