#P250704. 栈

题目描述:

给定一个长度为n的入栈序列pushArr,请输出前k个合法的出栈序列。

输入格式:

第一行有两个数字n和k; 第二行有n个不重复的数字,用空格隔开,表示入栈序列。

输出格式:

k行,每行表示一个合法的出栈序列,数字之间用空格隔开; 取前K个字典序最小出栈序列,按照升序进行输出。

样例:

4 5
1 2 3 10
1 2 3 10
1 2 10 3
1 3 2 10
1 3 10 2
1 10 3 2

提示

对于100%的数据: 1<=k,pushArr[i]<=10000,2<=n<=16,保证k不超过合法序列总方案数。 入栈序列pushArr一定合法,且保证pushArr按照升序进行排列。