Cod sursa(job #2055022)

Utilizator AndreiStanescuAlloys Nokito AndreiStanescu Data 2 noiembrie 2017 19:05:13
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<bits/stdc++.h>
using namespace std;
int n,x[9];
ofstream fout("permutari.out");
int valid(int k)
{
    int i;
    for(i=1;i<k;i++)
        if(x[i]==x[k]) return 0;
    return 1;
}
void afisare(int k)
{
    int i;
    for(i=1;i<=k;i++) fout<<x[i]<<' ';
    fout<<endl;
}
void bcktr(int k)
{
    int i,v;
    x[k]=0;
    while(k>0)
    {
        v=0;
        while(x[k]<n && !v)
        {
            x[k]++;
            v=valid(k);
        }
        if(v==1)
            if(k==n) afisare(n);
            else x[++k]=0;
        else k--;
    }

}
int main()
{ifstream fin("permutari.in");
    fin>>n;
    bcktr(1);
}