题解 | #火车进站#
火车进站
https://www.nowcoder.com/practice/97ba57c35e9f4749826dc3befaeae109
res = [] def rec(wait,inline,outline): if wait == [] and inline == []:#若等候进站和已进站队列都空 则输出结果 res.append(' '.join(map(str,outline))) if wait !=[]: #只要等候进站队列不为空, 则可以选择进站(进站边界条件) rec(wait[1:],inline+[wait[0]],outline) if inline !=[]: #只要进站队列不为空,则可以出站(出站边界条件) rec(wait,inline[:-1],outline+[inline[-1]]) while True: try: n,nums=int(input()),list(map(int,input().split())) rec(nums,[],[]) res =sorted(res) for i in res: print(i) except: break
高赞答案nb,我将他的if not,和if条件省略的东西补全,方便新手理解。