Cod sursa(job #1800122)

Utilizator ArminaMoldovanMoldovan Armina ArminaMoldovan Data 7 noiembrie 2016 13:06:55
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include<iostream>
#include<fstream>
using namespace std;// permutarile

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

int s[10];
int n, k, as, ev;

int init(int k)
{
    s[k]=0;
}
int succesor(int k)
{
    if(s[k]<n)
    {
        s[k]++;
        return 1;
    }
    else return 0;
}
int valid(int k)
{
    for(int i=1; i<k; i++)
    {
        if(s[i]==s[k])  return 0;
    }
    return 1;
}
int solutie(int k)
{
    return k==n;
}
void tipar(int k)
{
    for(int i=1; i<=n; i++)
        fout<<s[i]<<" ";
    fout<<endl;
}
void bktr(int k)
{
    init(k);
    while(succesor(k))
        if(valid(k))
            if(solutie(k))  tipar(k);
            else bktr(k+1);

}
int main()
{
    fin>>n;
    bktr(1);
    return 0;
}