Cod sursa(job #1808868)

Utilizator tiberiu.bucur17Tiberiu Constantin Emanoil Bucur tiberiu.bucur17 Data 18 noiembrie 2016 12:04:00
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.73 kb
#include <stdio.h>
#include <stdbool.h>
char buf[6894720];
int n,sol[8],poz;
bool frecv[9];
FILE *fin,*fout;
inline void write()
{
    int i;
    for(i=0;i<n;i++)
    {
        buf[poz++]=sol[i]+'0';
        buf[poz++]=' ';
    }
    buf[poz++]='\n';
}
void back(int k)
{
    if(k==n)
        write();
    else
        for(sol[k]=1;sol[k]<=n;sol[k]++)
            if(!frecv[sol[k]])
            {
                frecv[sol[k]]=1;
                back(k+1);
                frecv[sol[k]]=0;
            }
}
int main()
{
    fin=fopen("permutari.in","r");
    fout=fopen("permutari.out","w");
    fscanf(fin,"%d",&n);
    back(0);
    fprintf(fout,"%s",buf);
    fclose(fin);
    fclose(fout);
    return 0;
}