Pagini recente » Cod sursa (job #338715) | Cod sursa (job #3143906) | Cod sursa (job #2381756) | Cod sursa (job #1202491) | Cod sursa (job #2470613)
#include<iostream>
#include<vector>
#include<map>
#include<algorithm>
#include<fstream>
using namespace std;
int generate_perm(int pos, int n, vector<int> &cur_perm, map<int, int> &options) {
if (pos == n) {
for (int i = 0; i < n; i++)
cout << cur_perm[i] << " ";
cout << "\n";
return 1;
}
for (int i = 1; i <= n; i++) {
if (options[i] == 1) {
options[i] = 0;
cur_perm[pos] = i;
generate_perm(pos + 1, n, cur_perm, options);
options[i] = 1;
}
}
return 1;
}
int main() {
#ifdef INFOARENA
ifstream cin("permutari.in");
ofstream cout("permutari.out");
#endif
int n; cin >> n;
vector<int> cur_perm(n);
map<int, int> options;
for (int i = 1; i <= n; i++)
options[i] = 1;
generate_perm(0, n, cur_perm, options);
return 0;
}