Cod sursa(job #1890555)

Utilizator CashMeOutsideOleg Danilov CashMeOutside Data 23 februarie 2017 12:37:51
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>
using namespace std;
void permutare(int k);
int validare(int k);
int solutie(int k);
int n,a[9];
int main()
{
ifstream morislox("permutari.in");
morislox>>n;
permutare(1);
return 0;
}
ofstream morisloxx("permutari.out");
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++) {morisloxx<<a[j]<<' ';}morisloxx<<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;
}