生成全排列(经典题
&&
洛谷
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
分析: 生成的排列一共有 n 位, 每一位都需要枚举, 所以一共需要 n 层循环。 但
由于 n 是变量, 所以程序中不能打出确定的多少行循环。 所以要用到 dfs 框架。
其实很简单。
题目描述
输出自然数 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
分析: 生成的排列一共有 n 位, 每一位都需要枚举, 所以一共需要 n 层循环。 但
由于 n 是变量, 所以程序中不能打出确定的多少行循环。 所以要用到 dfs 框架。
其实很简单。