Cod sursa(job #803051)

Utilizator StefanLacheStefan Lache StefanLache Data 26 octombrie 2012 22:10:00
Problema Generare de permutari Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<stdio.h>
FILE *g=fopen("permutari.out","wt");
int v[8],N;
int bun(int k)
{
    int i;
    for(i=0;i<k;++i)
        if(v[i] == v[k])
            return 0;
    return 1;
}
int sol(int k)
{
    if(k == N-1)
        return 1;
    return 0;
}
void afiseaza()
{
    int i;
    for(i=0;i<N;++i)
        fprintf(g,"%i",v[i]);
    fprintf(g,"\n");
}
void back(int k)
{
    int i;
    for(i=1;i<=N;++i)
    {
        v[k]=i;
        if(bun(k))
            if(sol(k))
                afiseaza();
                else back(k+1);
    }
}
int main()
{
    FILE *f=fopen("permutari.in","rt");
    fscanf(f,"%i",&N);
    back(0);
    return 0;
}