Cod sursa(job #1890466)

Utilizator CashMeOutsideOleg Danilov CashMeOutside Data 23 februarie 2017 12:03:04
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;
void permutare(int k);
int validare(int k);
int solutie(int k);
int n,a[8];
int main()
{
cin>>n;
permutare(1);
return 0;
}

void permutare(int k)
{
    for (int i=1;i<=n;i++)
    {
        a[k]=i;
        if (validare(k))
        {if (solutie(k)) {for (int j=1;j<=k;j++) {cout<<a[j]<<' ';}cout<<endl;} else permutare(k+1);}
    }
}

int validare(int k)
{
    for (int i=1;i<=k-1;i++)
    if (a[i]==a[k]) return 0;
    return 1;
}
int solutie(int k)
{
    if (k==n) return 1;
    return 0;
}