原题链接P1706全排列问题
题目描述
输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字。
输入输出格式
输入格式:
n(1≤n≤9)
输出格式:
由1~n组成的所有不重复的数字序列,每行一个序列。每个数字保留5个常宽。
输入输出样例
输入样例#1:
3
输出样例#1:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
题解
题目没有什么难度(如果这句话伤害到了你,那对不起,是我的错),让人无语的是结果的输出格式
卡在输出这里WA了好多次
在这里还是建议用printf输出
printf(“%5d”,&a[i])
输出结果在格式这里就不会错了。
还是简单说一下DFS深度优先搜索,不了解的小伙伴推荐看一下啊哈磊的那本《啊哈!算法》,写的很通俗易懂,也很有趣,适合像我一样初学者的盆友们。
1-9九个数好比1-9九张扑克牌,数组好比盒子。
九个数太多,在这里我就拿1-3举例
开始每个盒子放入对应的扑克,就是1 2 3
走到第4个盒子那里发现手里没有扑克了,就往回走拿起3号盒子里面的3,手里也就只有3没有其他的号码,只好这样,继续往回走;走到