luogu1706全排列问题(深搜+元问题)

题目传送门

题意分析:

1、输入一个n,求n的全排列。

解题思路:

1、其实就是求,n个小朋友坐n个座位,有多少种方案,把所有的方案输出。

//caioj:1031递归1:全排列
 
#include<cstdio>

int a[110],b[110],n;

void dfs(int x)
{
	if(x>n)
	{
		for(int i=1;i<=n;i++) printf("%5d",a[i]);
		printf("\n");
	}
	for(int i=1;i<=n;i++)
	{
		if(b[i])
		{
			a[x]=i; b[i]=0;
			dfs(x+1);
			b[i]=1;
		}
	}
}
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++) b[i]=1;
	dfs(1);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/liusu201601/article/details/82464763