Cod sursa(job #2023050)

Utilizator StefanManolacheManolache Stefan StefanManolache Data 18 septembrie 2017 09:37:51
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <cstdio>

FILE *fin = fopen("permutari.in", "r");
FILE *fout = fopen("permutari.out", "w");

int st[17];
int n;

void afisare (int t) {
    for (int i = 1; i <= t; i++) {
        fprintf(fout, "%d", st[i]);
        fprintf(fout, " ");

    }
    fprintf(fout, "\n");
}

bool valid(int k) {
    for (int i = 1; i < k; i++)
        if (st[k] == st[i])
            return false;
    return true;
}

void bkt(int k) {
    if (k == n + 1) afisare(n);

    else {
        for(int i = 1;i <= n; i++)
        {
            st[k] = i;
            if (valid(k))
                bkt(k+1);
        }
    }
}


int main() {
    fscanf(fin, "%d", &n);
    bkt(1);

}