Pagini recente » Cod sursa (job #1223125) | Cod sursa (job #2805607) | Cod sursa (job #805185) | Cod sursa (job #2676167) | Cod sursa (job #1590162)
#include <stdio.h>
#include <algorithm>
using namespace std;
const int N = 15;
int queen[N],n,ans;
bool col[N],pd[2*N],sd[2*N];
void back(int c){
if(c == n+1){
if(ans < 1){
for(int i = 1;i <= n;i++){
printf("%d ",queen[i]);
}
printf("\n");
}
ans++;
}else{
for(int i = 1;i <= n;i++){
if(col[i] == 0 && pd[n+i-c] == 0 && sd[i+c] == 0){
queen[c] = i;
col[i] = pd[n+i-c] = sd[i+c] = true;
back(c+1);
col[i] = pd[n+i-c] = sd[i+c] = false;
}
}
}
}
int main()
{
freopen("damesah.in", "r", stdin);
freopen("damesah.out", "w", stdout);
scanf("%d",&n);
back(1);
printf("%d",ans);
return 0;
}