Cod sursa(job #1382271)

Utilizator mariusadamMarius Adam mariusadam Data 8 martie 2015 18:57:20
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>

using namespace std;

ifstream r("permutari.in");
ofstream w("permutari.out");

int x[9];
int n;

bool cont(int k) {
    int i;

    for (i=1; i<=k-1; i++)
        if (x[i]==x[k])
            return false;

    return true;
}

void afis(int k) {
    int i;
    for (i=1; i<=k; i++)
        w<<x[i]<<" ";
    w<<"\n";
}

void bkt() {
    int k;
    k=1;
    x[k]=0;
    while (k>0) {
        if (x[k]<n) {
            x[k]++;
            if (cont(k))
                if (k==n)
                    afis(k);
                else {
                    k++;
                    x[k]=0;
                }
        }
        else
            k--;
    }
}

int main() {
    r>>n;
    bkt();
    r.close();
    w.close();
    return 0;
}