Cod sursa(job #1016371)

Utilizator CostanMiriamCostan Miriam CostanMiriam Data 26 octombrie 2013 09:51:09
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
//Vom scrie o functie recursiva "back" cu parametrul unui nivel oarecare dintre cele m.
#include <fstream>
using namespace std ;
ifstream fin ("permutari.in");
ofstream fout ("permutari.out");
int x[22],n,k;

int cont (int k) {
    for (int i=1;i<=k-1;i++)
        if (x[k]==x[i])
            return 0;
    return 1;
}
void back (int k) {

    if (k>n) {
        for (int i=1;i<=n;i++)
            fout<<x[i]<<" ";
        fout<<"\n";
    }else {
        // incerc toate valorile posibile de la nivelul k
        for (int i=1;i<=n;i++) {
            x[k]=i;
            if (cont(k))
                back (k+1);
        }
    }

}


int main () {

    fin>>n;
    back (1);

    return 0;
}