Cod sursa(job #1627293)

Utilizator mihailarminia93Arminia Mihail mihailarminia93 Data 3 martie 2016 16:18:46
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>

using namespace std;

ifstream f("permutari.in");
ofstream g("permutari.out");
int sol[9],n;
bool valid(int k)
{
    for(int i=1;i<k;i++) if(sol[i]==sol[k]) return false;
    return true;
}
bool solutie(int k)
{
    return n==k;
}
void afiseaza()
{
    for(int i=1;i<=n;i++) g<<sol[i]<<" ";
    g<<'\n';
}
void bkt(int k)
{
    for(int i=1;i<=n;i++)
    {
        sol[k]=i;
        if(valid(k))
        {
            if(solutie(k)) afiseaza();
            else bkt(k+1);
        }
    }
}
int main()
{
    ios::sync_with_stdio(false);
    f>>n;
    bkt(1);
    return 0;
}