Pagini recente » Cod sursa (job #1580270) | Cod sursa (job #2988369) | Cod sursa (job #400207) | Cod sursa (job #2610615) | Cod sursa (job #2572191)
#include <algorithm>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int N;
unsigned used = 0U;
vector<int> st;
int bak(ofstream &outp, int k) {
if (k == N) {
for (int i : st)
outp << i << " ";
outp << "\n";
return 0;
}
for (int i = 0; i < N; ++i) {
if (!((used >> i) & 1)) {
used ^= (1 << i);
st[k] = i+1;
bak(outp, k+1);
used ^= (1 << i);
}
}
return 0;
}
int main() {
ifstream fi("permutari.in");
ofstream fo("permutari.out");
fi >> N;
st = vector<int>(N);
fill(st.begin(), st.end(), 0);
bak(fo, 0);
fo.close();
fi.close();
return 0;
}