全排列
#include<stdio.h>
int b[100000]={0},a[100000],m,w;
bool p(int i)
{
if(b[i]==1)
{
return false;
}
return true;
}
int s(int n)
{
for(int i=1;i<=m;i++)
{
a[n]=i;
if(p(i))
{
b[i]=1;
if(n==m)
{
for(int j=1;j<=m;j++)
{
printf("%d ",a[j]);
}
printf("\n");
w=w+1;
}
else
s(n+1);
b[i]=0;
}
}
a[n]=0;
}
int main()
{
scanf("%d",&m);
s(1);
printf("%d",w);
}