Cod sursa(job #2323632)

Utilizator ionut.birisBiris Ionut ionut.biris Data 19 ianuarie 2019 14:23:46
Problema Generare de permutari Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int st[100], k ,n, as, ev;

int succesor(){
    if(st[k] < n){
        st[k]++;
        as = 1;
    }
    else as = 0;
}

int valid(){
    ev = 1;
    for(int i = 1; i < k; i++)
        if (st[i] == st[k])
            ev = 0;
}

void back(){
    k = 1;
    st[k] = 0;
    while(k){
        do{
            succesor();
            if (as)
                valid();
        }while(as && !ev);
        if(as)
            if(k == n){
                for(int i = 1; i <= n; i++)
                    g << st[i];
                g << endl;
            }
            else{
                k++;
                st[k] = 0;
            }
        else k--;
    }
}

int main()
{
    f >> n;
    back();

    return 0;
}