[Python] 全排列

给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。

现在,请你按照字典序将所有的排列方法输出。

输入格式

共一行,包含一个整数 n。

输出格式

按字典序输出所有排列方案,每个方案占一行。

数据范围

1≤n≤9

输入样例:

3

输出样例:

1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1

a=int(input())
used = [0 for i in range(0,a+1)]
path = [0 for i in range(0,a+1)]
def dfs(depth):
  if depth>=a:
    for i in range(a):
      print(path[i], end=' ')
    print()
  
  for i in range(1,a+1):
    if(used[i]==0):
      used[i]=1
      path[depth]=i
      dfs(depth+1)
      used[i]=0
      path[depth]=0
 
dfs(0)

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×