Pagini recente » Cod sursa (job #2440085) | Cod sursa (job #2973939) | Cod sursa (job #2720304) | Cod sursa (job #2632639) | Cod sursa (job #1777847)
#include <cstdio>
using namespace std;
int permutatura[20],nr,fol[20];
FILE *in=fopen("permutari.in","r"), *out=fopen("permutari.out","w");
void scriefrum()
{
int k=nr;
while(k)
fprintf(out,"%d ",permutatura[k--]);
fprintf(out,"\n");
}
void perm(int lvl)
{
int k;
if(lvl>1)
{for(k=1;k<=nr;++k)
if(!fol[k])
permutatura[lvl]=k,
fol[k]=1,
perm(lvl-1),
fol[k]=0;}
else
{for(k=1;k<=nr;++k)
if(!fol[k])
permutatura[lvl]=k,
fol[k]=1,
scriefrum(),
fol[k]=0;}
}
int main()
{
fscanf(in,"%d",&nr);
perm(nr);
return 0;
}