题解 | #火车进站#
火车进站
https://www.nowcoder.com/practice/97ba57c35e9f4749826dc3befaeae109
#参考高赞解答,仅练习记录用
res = []
def dfs(stock, in_stack, out_stack): #stock为未进站列车,in_stack为站内列车,out_stack为出站列车
if not stock and not in_stack: #若所有车已经进过站,且站内无车,则将这次出站记录加入res
res.append(' '.join(out_stack))
if stock: #若还有车未出发,则进站
dfs(stock[1:],in_stack+[stock[0]],out_stack)
if in_stack: #若站内还有车,则出战
dfs(stock, in_stack[:-1],out_stack+[in_stack[-1]])
while True:
try:
n,list = int(input()),input().split()
dfs(list,[],[])
for i in sorted(res):
print(i)
except:
break
