Cod sursa(job #1276577)

Utilizator vladdy47Bucur Vlad Andrei vladdy47 Data 26 noiembrie 2014 16:33:35
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
# include <cstdio>
int n,a[20002],k,sol[20002];
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]);
for (int i=1; i<=n; i++) a[i]=i;
backt(1);
return 0;
}