Cod sursa(job #2702682)

Utilizator vnedelcuVictor Andrei Nedelcu vnedelcu Data 5 februarie 2021 14:43:33
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <stdio.h>

using namespace std;

const int MAX_SIZE = 9;

FILE * f;
int n;
int perm[MAX_SIZE];
int used[MAX_SIZE];

void write_permutations(int crnt_perm_pos) {
    if (crnt_perm_pos == n + 1) {
        for (int i = 1; i <= n; i++) {
            fprintf(f, "%d ", perm[i]);
        }
        fprintf(f, "\n");
        return;
    }

    for (int value = 1; value <= n; value++) {
        if (!used[value]) {
            perm[crnt_perm_pos] = value;
            used[value] = true;
            write_permutations(crnt_perm_pos + 1);
            used[value] = false;
        }
    }
}

int main() {
    f = fopen("permutari.in", "r");
    fscanf(f, "%d", &n);
    fclose(f);

    f = fopen("permutari.out", "w");
    write_permutations(1);
    fclose(f);

    return 0;
}