Cod sursa(job #2079753)
Utilizator | Data | 1 decembrie 2017 19:40:11 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("permutari.in");
ofstream g ("permutari.out");
const int NMAX = 8;
int n;
int perm[NMAX + 1];
bool e_pus[NMAX + 1];
void scrie() {
for (int i = 1; i <= n; i++)
g << perm[i] << ' ';
g << '\n';
}
void genereaza(int poz) {
if (poz == n + 1) {
scrie();
return;
}
for (int i = 1; i <= n; i++)
if (!e_pus[i]) {
e_pus[i] = true;
perm[poz] = i;
genereaza(poz + 1);
e_pus[i] = false;
}
}
int main() {
f >> n;
genereaza(1);
return 0;
}