Cod sursa(job #2522220)

Utilizator hhhhhhhAndrei Boaca hhhhhhh Data 12 ianuarie 2020 09:08:22
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.95 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int n,st[10001],niv,f[11];
int main()
{
    ios_base::sync_with_stdio(false);
    fin.tie(0);
    fout.tie(0);
    fin>>n;
    niv=1;
    while(niv)
    {
        if(st[niv]<n)
        {
            if(st[niv]!=0)
                f[st[niv]]--;
            st[niv]++;
            f[st[niv]]++;
            bool ok=1;
            if(f[st[niv]]>1)
                ok=0;
            if(ok)
            {
                if(niv<n)
                {
                    niv++;
                    st[niv]=0;
                }
                else
                {
                    for(int i=1;i<=n;i++)
                        fout<<st[i]<<" ";
                    fout<<'\n';
                }
            }
        }
        else
        {
            f[st[niv]]--;
            niv--;
        }
    }
    return 0;
}