想问下字典序最小是啥意思?
def dfs(nums,res):
if len(res) == n:
result.append(res)
return
for i in range(1,nums[0]//2+1):
temp = []
temp.append(i)
flag = True
for j in nums:
nextval = j - temp[-1]
if nextval <= 0:
flag = False
continue
temp.append(nextval)
if flag:
res = temp[:]
dfs(temp,res)
else:
return False
n, s = map(int,input().split())
result = []
dfs([s],[])
for i in sorted(result):
print(i)
兄弟你对这个题的理解有点偏
你需要理解什么叫“1到N”的排列
比如1到3的排列,就是1、2、3这三个数进行排列
而你的结果是1、1、1、15,显然不是1到4的排列(需要由1、2、3、4进行排列)