Cod sursa(job #1069470)

Utilizator dotixRadu-Bogdan Croitoru dotix Data 30 decembrie 2013 02:05:23
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <cstdio>

int n, st[100];

void afisare() {
    for(int i = 1; i <= n; i++)
        printf("%d ", st[i]);
    printf("\n");
}

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

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

int main() {
    freopen("permutari.in", "r", stdin);
#ifdef INFOARENA
    freopen("permutari.out", "w", stdout);
#endif

    scanf("%d", &n);
    back(1);

    return 0;
}