#include<bits/stdc++.h>
using namespace std;
int path[10],n,flag[10];
void dfs(int step)
{
	//出口
	if(step==n+1)
	{	
		for(int i=1;i<=n;i++)
		{
			cout<<path[i]<<" ";
		}
		cout<<endl;
		return;
	}
	//所有可能
	for(int i=1;i<=n;i++){
		if(flag[i]==0)
		{
			flag[i]=1;//标记
			path[step]=i;//记录
			dfs(step+1);//调用
			flag[i]=0;//恢复	 
		}
	} 
}
int main(){
	ios::sync_with_stdio(0);//清除缓冲区
	cin>>n;
	dfs(1); 

    return 0;
}

首次制作,制作不易。

                                                        ​​​​​​​        谢谢大家

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐