Pagini recente » Cod sursa (job #1302935) | Cod sursa (job #1547678) | Cod sursa (job #1697355) | Cod sursa (job #1726436) | Cod sursa (job #1012805)
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int n;
int solution[10];
int valid(int level, int value){
for (int i=1; i<level; i++){
if (solution[i] == value){
return 0;
}
}
return 1;
}
void backtrack(int level){
if (level > n){
for (int i=1; i<=n; i++){
printf("%d ", solution[i]);
}
printf("\n");
} else {
for (int i=1; i<=n; i++){
if (valid(level, i)){
solution[level] = i;
backtrack(level+1);
}
}
}
}
int main()
{
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d", &n);
backtrack(1);
return 0;
}