Pagini recente » Cod sursa (job #3236871) | Cod sursa (job #1669799) | Cod sursa (job #2263125) | Cod sursa (job #2186113) | Cod sursa (job #144825)
Cod sursa(job #144825)
#include <stdio.h>
#define nmax 16
int prev[nmax],n,next[nmax],st[nmax];
void doit(int i)
{
if(i==n)
{
for(i=0;i<n;++i)
printf("%d ",st[i]);
printf("\n");
return ;
}
int j;
for(j=next[0];j;j=next[j])
{
st[i]=j;
next[prev[j]]=next[j];
prev[next[j]]=prev[j];
doit(i+1);
next[prev[j]]=j;
prev[next[j]]=j;
}
}
int main()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
int i;
scanf("%d",&n);
for(i=0;i<=n;++i)
next[i]=i+1,prev[i+1]=i;
next[n]=prev[0]=0;
doit(0);
return 0;
}