P1706 全排列问题【普及组】

全排列问题

题目描述

按照字典序输出自然数 1 1 1 n n n 所有不重复的排列,即 n n n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。

输入格式

一个整数 n n n

输出格式

1 ∼ n 1 \sim n 1n 组成的所有不重复的数字序列,每行一个序列。

每个数字保留 5 5 5 个场宽。

样例 #1

样例输入 #1

3

样例输出 #1

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

提示

1 ≤ n ≤ 9 1 \leq n \leq 9 1n9

#include

using namespace std;

int main()
{
	int n;
	int a[10];
	cin>>n;
	
	for(int i=0;i<n;++i)
	a[i]=i+1;
	
	do
	{
		for(int i=0;i<n;++i)
		{
			cout<<setw(5)<<a[i];
		}
		cout<<endl;
	}while(next_permutation(a,a+n));
	
	return 0;
}

你可能感兴趣的:(递归,算法整理,算法,c++,数据结构)