Cod sursa(job #2582188)
| Utilizator | Data | 16 martie 2020 14:40:36 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int n, v[10];
bitset<10> used;
void genPerm(int k, int v[], bitset<10> &used) {
if (k == n + 1) {
for (int i = 1; i <= n; i++)
fout << v[i] << ' ';
fout << '\n';
return;
}
for (int i = 1; i <= n; i++)
if (!used[i]) {
used[i] = true;
v[k] = i;
genPerm(k + 1, v, used);
used[i] = false;
}
}
int main() {
fin >> n;
genPerm(1, v, used);
return 0;
}
