Cod sursa(job #1777847)

Utilizator dranoellenTurica Leonard-Petru dranoellen Data 12 octombrie 2016 22:30:04
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#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;
}