Pagini recente » Cod sursa (job #3333923) | Cod sursa (job #3344029) | Cod sursa (job #741245) | Cod sursa (job #3315064) | Cod sursa (job #3354510)
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
int n;
void back(vector<int> &res, vector<int> visit, int k) {
if (k >= n) {
for (int x = 0; x < k; x ++) {
cout << res[x] << ' ';
}
cout << '\n';
return;
}
for (int i = 1; i <= n; i++) {
if (k == 0) {
visit[i] = 1;
res[k] = i;
back(res, visit, k + 1);
visit[i] = 0;
} else {
if (visit[i] == 0) {
visit[i] = 1;
res[k] = i;
back(res, visit, k + 1);
visit[i] = 0;
}
}
}
}
int main() {
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
ifstream fin("permutari.in");
ofstream fout("permutari.out");
cin >> n;
if (n == 0) {
cout << -1;
return 0;
}
vector<int> res(n, 0);
vector<int> visit(n + 1, 0);
back(res, visit, 0);
fin.close();
fout.close();
return 0;
}