Cod sursa(job #1553051)

Utilizator DavidDragulinDragulin David DavidDragulin Data 19 decembrie 2015 10:25:08
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>

using namespace std;
FILE *fin=fopen("permutari.in","r");
FILE *fout=fopen("permutari.out","w");
int sol[10],n,i;
bool ok(int k)
{
    int i;
    for(i=1;i<k;i++)
        if(sol[i]==sol[k])
            return 0;
    return 1;
}
void afisare()
{
    int i;
    for(i=1;i<=n;i++)
        fprintf(fout,"%d ",sol[i]);
    fprintf(fout,"\n");
}
void permutari(int k)
{
    int i;
    if(k>n)afisare();
    else
        for(i=1;i<=n;i++)
        {
            sol[k]=i;
            if(ok(k))permutari(k+1);
        }
}
int main()
{
    fscanf(fin,"%d",&n);
    permutari(1);
    return 0;
}