#783. 牛的数字游戏

牛的数字游戏

试题描述

FJ和他的奶牛们喜欢玩一种数字游戏:他们按某种顺序在纸上写下1N1~N(1N101 \le N \le 10)之间的所有数,然后把相邻的数字相加,得到一个比原数列少一项的数列。对新数列重复上述的操作,直到整个数列只剩一个数为止。N=4N=4的时候,整个游戏的流程可能如下所示:

3   1   2   4

4   3   6

7   9

16

奶牛们很快不满足于这种简单的游戏,于是她们背着FJ玩起了另一个版本:对于给定的N以及最后剩下的数,求初始的数列。不幸的是,由于FJ的数学学得不是很好,这个游戏对于他来说是有些难度的。

请你写个程序来帮助FJ玩这个游戏,以维护他在奶牛们心中的地位。

输入要求

第1行: 包括2个用空格隔开的整数:NN和这NN个数字经过运算后的最终结果

输出要求

第1行: 输出一个完整包含1 N1~N的长度为NN的数列,它经过若干次相邻数加和的运算后能够得到输入中要求的结果。如果有多个数列符合要求,输出字典序最小的一个。也就是说,数列中位置靠前的数字要尽量小。

4 16
3 1 2 4

解题提示

其他的数列经过以上运算,可能也能得到相同的结果,比如说3 2 1 4,但所有符合条件的数字串中,3 1 2 4是字典序最小的一个。