直接来吧:
#include<bits/stdc++.h>
using namespace std;
int n,r,a[15],b[15],u[15];
void dg(int dep)
{
if(dep>n)
{
for(int i=1;i<=n;i++)
{
putchar(' ');
putchar(a[i]+48);
}
putchar('\n');
}
else
{
for(int i=1;i<=n;i++)
{
if(u[i]==0)
{
a[dep]=b[i];
u[i]=1;
dg(dep+1);
u[i]=0;
}
}
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>b[i];
dg(1);
return 0;
}