Cod sursa(job #1826311)

Utilizator MishulikMihai Zgonea Mishulik Data 10 decembrie 2016 12:26:48
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
short n, sol[9];
void print()
{
    for(short i=1; i<=n; i++)
        fout<<sol[i]<<' ';
    fout<<endl;
}
bool valid(short a)
{
    for(int i=1; i<a; i++)
        if(sol[i]==sol[a])
            return false;
    return true;
}
void backtrack(short a)
{
    for(short i=1; i<=n; i++)
    {
        sol[a]=i;
        if(valid(a))
        {
            if(a==n)
                print();
            else
                backtrack(a+1);
        }
    }
}
int main()
{
    fin>>n;
    backtrack(1);
}