题目描述
今有 n 名学生,要从中选出 k 人排成一列拍照。
请按字典序输出所有可能的排列方式。
输入格式
仅一行,两个正整数 n, k。
输出格式
若干行,每行 k 个正整数,表示一种可能的队伍顺序。
样例 #1
样例输入 #1
```
3 2
```
样例输出 #1
```
1 2
1 3
2 1
2 3
3 1
3 2
```
提示
对于 100% 的数据,1 ≤ k ≤ n ≤ 10。
解题过程
思路
读完题可以知道这是一道dfs的题目,所以就按照dfs的模版去做
第一部分
头文件+定义
a数组用来存储输出的数据,n和k为输入的数据,b数组判断每个数用没用过,flag也用来判断用没用过
第二部分
定义dfs函数
7~14:判断循环边界,如果数够了就输出
15~22:判断数是否用过,如果用过就跳过这个数
23~24,26~27:进入下一层
25:回溯
![](https://i-blog.csdnimg.cn/blog_migrate/e79d1c17f6b48e7e4ae6353e6acaeb39.png)
第三部分
输入,调用函数