Mai intai trebuie sa te autentifici.
Cod sursa(job #2207637)
Utilizator | Data | 26 mai 2018 10:20:06 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.66 kb |
#include <iostream>
#include <fstream>
using namespace std;
const int maxL = 40321;
int n, x[maxL];
bool ap[9];
ifstream in("permutari.in");
ofstream out("permutari.out");
bool valid(int v)
{
return !ap[v];
}
void afis(int n)
{
for(int i = 1; i <= n; i++)
out << x[i] << ' ';
out << '\n';
}
void backt(int k)
{
if(k <= n)
for(int v = 1; v <= n; v++)
{
x[k] = v;
if(valid(v)) {
ap[v] = 1;
backt(k + 1);
ap[v] = 0;
}
}
else afis(n);
}
int main()
{
in >> n;
backt(1);
return 0;
}