题目描述
输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字。
输入
输入 n(1≤n≤9)
输出
由1~n组成的所有不重复的数字序列,每行一个序列。每个数字占5列。
样例输入 Copy
4
样例输出 Copy
1 2 3 4
1 2 4 3
1 3 2 4
1 3 4 2
1 4 2 3
1 4 3 2
2 1 3 4
2 1 4 3
2 3 1 4
2 3 4 1
2 4 1 3
2 1 4 3
3 1 2 4
3 1 4 2
3 2 1 4
3 2 4 1
3 4 1 2
3 4 2 1
4 1 2 3
4 1 3 2
4 2 1 3
4 2 3 1
4 3 1 2
4 3 2 1
因为这两天在学深搜,所以就用深搜做,不然python自带的全排列函数肯定是首选
首先的思路就是,要从第一个盒子开始走,一个个盒子往下,直到不能走了为止,也就是所有的牌都用完了的情况下,没有牌可以用了,在到倒数第二个盒子中将数字拿出来看看可不可以构成新的排列,可以就输出,不可以继续回退,重复这样的操作,直到没有回退为止。
</