原题:
题目描述
按照字典序输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。
输入格式
一个整数 n。
输出格式
由1∼n 组成的所有不重复的数字序列,每行一个序列。
每个数字保留 55 个场宽。
输入样例
3
输出样例
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1
def permutations(n, l, visited):
if n == l:
result_list = [f' {item}' for item in visited]
print("".join(result_list))
else:
for i in range(1, l + 1):
if i not in visited:
visited.append(i)
permutations(n + 1, l, visited)
visited.remove(i)
if __name__ == '__main__':
l = int(input())
visited = []
permutations(0, l, visited)