Pagini recente » Cod sursa (job #2397821) | Cod sursa (job #1078595) | Cod sursa (job #907127) | Cod sursa (job #3171577) | Cod sursa (job #1312539)
#include <stdio.h>
#define MAXN 13
FILE *out;
int rez = 0, sol[MAXN];
char c[MAXN], p[MAXN], s[MAXN];
void bkt(int pas, int n){
int i;
if(pas < n){
for(i = 0; i < n; i++){
if(c[i] == 0 && p[n - pas - 1 + i] == 0 && s[2 * n - 2 - i - pas] == 0){
sol[pas] = i + 1;
c[i] = 1;
p[n - pas - 1 + i] = 1;
s[2 * n - 2 - i - pas] = 1;
bkt(pas + 1, n);
c[i] = 0;
p[n - pas - 1 + i] = 0;
s[2 * n - 2 - i - pas] = 0;
}
}
}
else{
if(rez == 0){
for(i = 0; i < n; i++){
fprintf(out, "%d ", sol[i]);
}
fputc('\n', out);
}
rez++;
}
}
int main(){
FILE *in = fopen("damesah.in", "r");
int n;
fscanf(in, "%d", &n);
fclose(in);
out = fopen("damesah.out", "w");
bkt(0, n);
int i;
fprintf(out, "%d", rez);
fclose(out);
return 0;
}