Cod sursa(job #651779)

Utilizator xbogdanBogdan Boamfa xbogdan Data 21 decembrie 2011 16:37:25
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int n,sol[10];
int afisare()
{
    for(int i=1;i<=n;i++)
        out<<sol[i]<<" ";
    out<<"\n";
}
bool  valid(int p)//verifica daca sol[p]!=sol[1], sol[p]!=sol[2] ... sol[p]!=sol[p-1]
{
    for(int i=1;i<p;i++)
        if(sol[i]==sol[p])
            return false;
    return true;
}

void bkt(int p)
{
    if(p-1 == n)
    {
        afisare();
        return ;
    }
    for(int i=1;i<=n;i++)
    {
        sol[p]=i;
        if(valid(p))
            bkt(p+1);
    }
}
int main()
{
    in>>n;
    bkt(1);
    return 0;
}