Cod sursa(job #1653339)

Utilizator FragentisMihai Petru Fragentis Data 15 martie 2016 21:21:32
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
using namespace std;

short n, k, i, x[9];
bool in_stack[9];

int main()
{
    fstream f("permutari.in", ios::in);
    f >> n;
    f.close();
    
    f.open("permutari.out", ios::out);
    
    k = 1;
    x[1] = 0;
    while(k > 0)
    {
        while(x[k] < n)
        {
            ++x[k];
            
            if(!in_stack[x[k]])
                if(k == n)
                {
                    for(i = 1; i<=n; ++i)
                        f << x[i] << ' ';
                    f << endl;
                }
                else
                {
                    in_stack[x[k]] = true;
                    ++k;
                    x[k] = 0;
                }
        }
        --k;
        in_stack[x[k]] = false;
    }
    
    f.close();
    
    return 0;
}