Cod sursa(job #1570153)

Utilizator Barna28Barna David Alexandru Barna28 Data 16 ianuarie 2016 11:13:53
Problema Generare de permutari Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("permutari.in");
ofstream fout("permutari.out");

const int maxn=20;

int n,per[maxn];

bool valid(int val, int k){
    for(int i=1; i<=k; ++i)
        if(per[i]==val)
            return false;
    return true;
}

void afisare(){
    for(int i=1; i<=n;++i)
        fout<<per[i]<<' ';
    fout<<'\n';
}

void back(int k)
{
    if(k==n+1){
        afisare();
        return;
    }
    for(int i=1; i<=n; ++i)
        if(valid(i,k)){
            per[k]=i;
            back(k+1);
        }
}
int main()
{
    fin>>n;
    back(1);
    return(0);
}