Cod sursa(job #1528003)

Utilizator PaulStighiStiegelbauer Paul-Alexandru PaulStighi Data 18 noiembrie 2015 22:30:44
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<fstream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");

int N,X[10];

bool valid(int k)
{
    for(int i=1;i<k;i++)
        if(X[i]==X[k])  return 0;
    return 1;
}

bool solutie(int k)
{
    return (k==N);
}

void Print()
{
    for(int i=1;i<=N;++i)
        fout<<X[i]<<" ";
    fout<<"\n";
}

void backtr(int k)
{
    for(int i=1;i<=N;++i)
    {
        X[k]=i;
        if(valid(k))
        {
            if(solutie(k))
                Print();
            else
                backtr(k+1);
        }
    }
}

int main()
{
    fin>>N;

    backtr(1);

    fin.close();
    fout.close();
    return 0;
}