Pagini recente » Cod sursa (job #1590723) | Cod sursa (job #2180164) | Cod sursa (job #1493323) | Cod sursa (job #523679) | 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;
}