记录当前所有状态,然后一个一个驶出,累加到结果中作为下一次输入
n = int(input())
s = list(map(int, input().split()))
def fun(s):
stack_list = [[[], []]]
for each in s:
tmp_stack_list = []
for stack, result in stack_list:
stack.append(each) # 进栈不驶出
tmp_stack_list.append([stack.copy(), result.copy()])
while stack: # 一个一个驶出
t = stack.pop()
result.append(t)
tmp_stack_list.append([stack.copy(), result.copy()])
stack_list = tmp_stack_list
return stack_list
tmp = fun(s)
results = []
for stack, result in tmp:
if not stack:
results.append(result)
results = sorted(results)
for each in results:
print(" ".join(map(str, each)))



京公网安备 11010502036488号