Cod sursa(job #2323845)
Utilizator | Diaconu Daniela diaconudaniela | Data | 19 ianuarie 2019 20:07:44 |
---|---|---|---|
Problema | Generare de permutari | Scor | 20 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.7 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cmath>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int n, k, a[10],i,j;
void afiseaza()
{
for(j=1; j<=n; j++)
g<<a[j]<<" ";
g<<endl;
}
int valid(int k)
{
int i;
for(i = 1; i <= k - 1; i++)
if (a[k] == a[i])
return 0;
return 1;
}
void BKT(int k)
{
for(i = 1; i <= n; i++)
{
a[k] = i;
if (valid(k))
{
if (k == n)afiseaza();
else BKT(k + 1);
}
}
}
int main()
{
f>> n;
BKT(1);
return 0;
}