Pagini recente » Cod sursa (job #829718) | Cod sursa (job #1548446) | Cod sursa (job #1891756) | Cod sursa (job #2129143) | Cod sursa (job #1264336)
#include <stdio.h>
#include <stdlib.h>
int v[9];
FILE *fin,*fout;
int n;
int isValid(int pos) {
int i;
for(i=1;i<pos;i++) {
if(v[i] == v[pos])
return 0;
}
return 1;
}
void printArray() {
int i;
for(i=1;i<=n;i++) {
fprintf(fout,"%d ",v[i]);
}
fprintf(fout,"\n");
}
void backtrack(int k) {
if(k==n+1)
printArray();
else {
int i;
for(i=1;i<=n;i++){
v[k]=i;
if(isValid(k))
backtrack(k+1);
}
}
}
int main(void) {
fin=fopen("permutari.in","r");
fout=fopen("permutari.out","w");
fscanf(fin,"%d",&n);
backtrack(1);
return 0;
}