Pagini recente » Cod sursa (job #1789428) | Cod sursa (job #3037494) | Cod sursa (job #1722088) | Cod sursa (job #2686119) | Cod sursa (job #2884514)
#include <bits/stdc++.h>
using namespace std;
void print_output(int k, int res[], ofstream &out) {
for (int i = 1; i <= k; i++)
out << res[i] << ' ';
out << '\n';
}
bool valid(int k, int res[]) {
for (int i = 1; i < k; i++)
if (res[k] == res[i])
return false;
return true;
}
void solve(int k, int n, int res[], ofstream &out) {
for (int i = 1; i <= n; i++) {
res[k] = i;
if (valid(k, res))
if (k == n) print_output(k, res, out);
else solve(k + 1, n, res, out);
}
}
void jmekerie(int n, ofstream &out) {
vector<int> res;
for (int i = 0; i < n; i++) {
res.push_back(i + 1);
}
do {
for (int i = 0; i < n; i++) {
out << res[i] << ' ';
}
out << '\n';
} while (next_permutation(res.begin(), res.end()));
}
int main() {
ifstream in("permutari.in");
ofstream out("permutari.out");
int n;
in >> n;
int res[n + 1];
//jmekerie(n, out);
solve(1, n, res, out);
in.close();
out.close();
return 0;
}