Cod sursa(job #2258924)

Utilizator BogdanAlexandruBogdan-Alexandru Dig BogdanAlexandru Data 12 octombrie 2018 17:01:40
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <stdio.h>

using namespace std;
FILE *f,*g;
int x[20],fr[20],n;
void Write()
{
    int i;
    for(i=1;i<=n;i++)fprintf(g,"%d ",x[i]);
    fprintf(g,"\n");
}
void BKT()
{
    int k=1;
    while(k>0)
    {
        if(x[k]<n)
        {
            x[k]++;
            if(!fr[x[k]])
            {
                if(k==n)Write();
                else
                {
                    fr[x[k]]=1;
                    ++k;
                    x[k]=0;
                }
            }
        }
        else
        {
            k--;
            fr[x[k]]=0;
        }
    }
}
int main()
{
    f=fopen("permutari.in","r");
    g=fopen("permutari.out","w");
    fscanf(f,"%d",&n);
    BKT();
    fclose(f);fclose(g);
    return 0;
}