Cod sursa(job #1999161)

Utilizator VarticeanNicolae Varticean Varticean Data 10 iulie 2017 14:52:40
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
using namespace std;
ifstream in("permutari.in");
ofstream out("permutari.out");
short a[10],n;
void print()
{
    for(int i=1; i<=n; i++ )
        out<<a[i]<<' ';
    out<<'\n';
}
int valid(int k)
{
    for(int i=1; i<k; i++ )
        if(a[i]==a[k]) return 0;
    return 1;
}
void backtrack()
{
   int  k=1; a[1]=0;
    while(k)
    {
        while(a[k]<n)
        {
            a[k]++;
            if(valid(k)) if(k==n) print();
            else
            {
                k++; a[k]=0;
            }
        }
        k--;
    }
}
int main()
{
   in>>n;
   backtrack();
    return 0;
}