Acwing842. 排列数字dfs

842. 排列数字

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

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

输入格式

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

输出格式

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

数据范围

1≤n≤7

输入样例:

3

输出样例:

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

Acwing842. 排列数字dfs_第1张图片 

 从上往下,分别是0、1、2、3层

#include
using namespace std;
bool st[100000];
int path[10000],n=0;
void dfs(int u)//u表示树 层数 
{
	if(u==n)//如果输入是3,如图从第0层遍历到第3层,则输出并回溯 
	{
		for(int i=0;i>n;
	dfs(0);//通过对比下方的dfs树遍历图,一开始是从0层开始的 
}

你可能感兴趣的:(蓝桥杯)