全排列
#include<stdio.h>
int i,a[10];int m;
void dfs(int n)
{
int temp;
if (n==m-1){
for (i=0;i<m;i++) printf("%d ",a[i]);putchar('\n');}
else
{
for (int i=n;i<m;i++)
{
temp=a[i];a[i]=a[n];a[n]=temp;
dfs(n+1);
temp=a[i];a[i]=a[n];a[n]=temp;
}
}
}
int main()
{
scanf("%d",&m);
for (i=0;i<m;i++)
scanf("%d",&a[i]);
dfs(0);
}