%%%sysorz
题目描述
给出一个n, 请输出n的所有全排列
输入:
读入仅一个整数n (1<=n<=10)
输出:
一共n!行,每行n个用空格隔开的数,表示n的一个全排列。并且按全排列的字典序输出。
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
void f(int n,int *a)
{
for(int i=0;i<n;i++)
cout<<a[i]<<" ";
printf("\n");
}
int main()
{
int a[15];
int n;
cin>>n;
for(int i=0;i<=12;i++)
a[i]=i+1;
int *b=unique(a,a+n);
do
{
f(b-a,a);
}while(next_permutation(a,b));
return 0;
}
%%%sys大神orz