全排列
输入一个整数n(n <= 9),输出1、2、3、······、n这n个数的全排列(按照字典序输出)。
Input
一个整数n
Output
多行,每行表示一种排列,行内使用空格分隔相邻两数。
Sample
Inputcopy Outputcopy
3
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
#include<iostream>
#include<algorithm>
using namespace std;
int g[15];
int main()
{
int n,i;
cin>>n;
for(i=1; i<=n; i++)
g[i-1]=i;
do
{
for(i=0; i<n-1; i++)
cout<<g[i]<<" ";
cout<<g[n-1]<<endl;
}
while(next_permutation(g,g+n));
return 0;
}