Cod sursa(job #1095821)

Utilizator vTudorVartolomei Tudor vTudor Data 31 ianuarie 2014 22:57:16
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>

using namespace std;

int a[9], n;
ifstream fin("permutari.in");
ofstream fout("permutari.out");

void Afisare()
{
    for(int i = 1; i <= n; i++)
        fout<<a[i]<<" ";
    fout<<"\n";
}
void continuare(int k, int &ok)
{
    ok = 1;
    for(int i = 1; i<k; i++)
        if(a[k] == a[i]) ok = 0;
}

int main()
{
    fin>>n;
    int k = 1, ok;
    a[k] = 0;
    while(k > 0)
    {
        ok = 0;
        while(!ok && a[k] < n)
        {
            a[k]++;
            continuare(k, ok);
        }
        if(!ok) k--;
        else if(k == n) Afisare();
                else
                {
                    k++;
                    a[k] = 0;
                }
    }
    return 0;
}