Cod sursa(job #1278956)

Utilizator bciobanuBogdan Ciobanu bciobanu Data 29 noiembrie 2014 16:28:16
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
// Pn = n!
#include <cstdio>

#define IN "permutari.in"
#define OUT "permutari.out"
#define NMAX 10
using namespace std;

FILE *in = fopen(IN, "r");
FILE *out = fopen(OUT, "w");
bool viz[NMAX];
int st[NMAX], N;

void afisare()
{
    for(int i = 1; i <= N; ++i)
        fprintf(out, "%d ", st[i]);
    fputc('\n', out);
}
void Perm(int k)
{
    if(k > N)
        afisare();
    else
    {
        for(int i = 1; i <= N; ++i)
        {
            if(!viz[i])
            {
                st[k] = i;
                viz[i] = 1;
                Perm(k + 1);
                viz[i] = 0;
            }
        }
    }
}
int main()
{
    fscanf(in, "%d", &N);
    Perm(1);
    fclose(in);
    fclose(out);
    return 0;
}