Cod sursa(job #1276574)

Utilizator vladdy47Bucur Vlad Andrei vladdy47 Data 26 noiembrie 2014 16:32:15
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
# include <cstdio>
int n,a[20002],k,sol[23323];
using namespace std;
int afis() {
    int i;
    for (i=1; i<=n; i++)
        printf("%d ",a[sol[i]]);
    printf ("\n");
}
int ok (int k) {
    int i;
    for (i=1; i<k; i++)
        if (sol[k]==sol[i]) return false;
    return true;
}
void backt (int k) {
int i;
if (k>n) afis();
    else {
        for (i=1; i<=n; i++) {
            sol[k]=i;
            if (ok(k)==true) backt(k+1);
        }
    }
}
int main ()
{freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
for (int i=1; i<=n; i++) scanf("%d",&a[i]);
backt(1);
return 0;
}