Cod sursa(job #2931887)
Utilizator | Data | 1 noiembrie 2022 10:13:50 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
void generate(uint n) {
vector<uint> st(n);
function<void(uint)> __generate = [&](uint k) {
if (k == n) {
for (int x : st)
fout << x << ' ';
fout << '\n';
return;
}
for (int i = 1; i <= n; ++i) {
bool ok = 1;
for (int j = 0; j < k && ok; ++j)
if (st[j] == i)
ok = 0;
if (ok) {
st[k] = i;
__generate(k + 1);
}
}
};
__generate(0);
}
int main() {
uint n;
fin >> n;
generate(n);
}