Cod sursa(job #1629861)

Utilizator AlexEnacheEnache Alexandru-Paul AlexEnache Data 4 martie 2016 19:27:12
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int n,s[100];
void init(int k)
{s[k]=0;}
int succesor(int k)
{
    if(s[k]<n)
    {
        s[k]=s[k]+1; return 1;
    }
    return 0;
}
int valid(int k)
{
    for(int i=1;i<k;i++)
        if(s[k]==s[i]) return 0;
    return 1;
}
int solutie(int k)
{
    return k==n;
}
void tipar()
{
    for(int i=1;i<=n;i++)
        g<<s[i]<<' ';
    g<<'\n';
}
void bt(int k)
{
    init(k);
    while(succesor(k))
        if(valid(k))
            if(solutie(k)) tipar();
            else bt(k+1);
}
int main()
{
    f>>n;
    bt(1);
    return 0;
}