Pagini recente » Cod sursa (job #1924695) | Cod sursa (job #1924310) | Cod sursa (job #1662339) | Cod sursa (job #3280626) | Cod sursa (job #1591870)
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
template <class T>
void permutation(const vector<T>& v, ostream & fout=cout) {
static vector<T> current;
static vector<bool> taken(v.size(), false);
vector<T> result;
if (current.size() == v.size()) {
for (auto x : current) {
fout << x << " ";
}
fout << endl;
} else {
for (size_t i = 0; i < v.size(); ++i) {
if (!taken[i]) {
taken[i] = true;
current.push_back(v[i]);
permutation(v, fout);
current.pop_back();
taken[i] = false;
}
}
}
}
int main() {
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int n; fin >> n;
vector<int> nums;
for (int i = 1; i <= n; ++i)
nums.push_back(i);
permutation(nums, fout);
return 0;
}