题目描述
有这么一个游戏:写出一个1至N的排列ai
,然后每次将相邻两个数相加,构成新的序列,再对新序列进行这样的操作,显然每次构成的序列都比上一次的序列长度少1,直到只剩下一个数字位置。下面是一个例子:
最后得到16这样一个数字。
现在想要倒着玩这样一个游戏,如果知道N,知道最后得到的数字的大小sum
sum,请你求出最初序列ai,为1至N的一个排列。若答案有多种可能,则输出字典序最小的那一个。
题目解析
这道题其实就是杨辉三角加搜索。下面来分析一下:
假设n为1,全排列只有1个,为1
假设n为2,选择1-2的一个全排列,为2,1。
假设现在n为3,选择1-3其中一个全排列,为2,3,1。