Pagini recente » Cod sursa (job #2203871) | Cod sursa (job #3222865) | Cod sursa (job #1511030) | Cod sursa (job #2917367) | Cod sursa (job #2203857)
#include<iostream>
#include<fstream>
#define MAX 9
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int check(int *s, int k) {
for (int i = 1; i < k; i++)
if (s[i] == s[k])
return 0;
return 1;
}
int solution(int *s, int k, int N) {
if (k == N)
return 1;
return 0;
}
void print_solution(int *s, int N) {
for (int i = 1; i <= N; i++)
g << s[i] << " ";
g << endl;
}
void permutation_bkt(int *s, int k, int N) {
for (int i = 1; i <= N; i++) {
s[k] = i;
if (check(s, k)) {
if (solution(s, k, N)) {
print_solution(s, N);
}
else {
permutation_bkt(s, k+1, N);
}
}
}
}
int main() {
int s[MAX], k = 1;
int N; f >> N;
permutation_bkt(s, k, N);
f.close();
g.close();
return 0;
}