Pagini recente » Cod sursa (job #802082) | Cod sursa (job #599051) | Cod sursa (job #655642) | Cod sursa (job #1016873)
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;
int n;
int solution[10];
void afisareSolutie(){
int i;
for(i = 1; i <= n - 1; ++i)
printf("%d ", solution[i]);
printf("%d\n", solution[i]);
}
bool contineNumar(int k){
for(int i = 1; i <= k - 1; ++i)
if (solution[k] == solution[i]) return true;
return false;
}
void backtrack(int k) {
if (k > n) afisareSolutie();
else {
for(int i = 1; i <= n; ++i) {
solution[k] = i;
if (!contineNumar(k)) backtrack(k + 1);
}
}
}
int main() {
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d", &n);
backtrack(1);
}