Cod sursa(job #2368343)

Utilizator Vlad3108Tir Vlad Ioan Vlad3108 Data 5 martie 2019 15:37:40
Problema Problema Damelor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>
using namespace std;
int n,st[15];
int ap_col[15],ap_diag_p[31],ap_diag_s[32];
int nr_sol;
void Back(int k){
    if(k==n+1){
        ++nr_sol;
        if(nr_sol==1){
            for(int i=1;i<=n;++i)
                printf("%d ",st[i]);
            printf("\n");
        }
    }
    for(int i=1;i<=n;++i)
        if(!ap_col[i]&&!ap_diag_p[i-k+n]&&!ap_diag_s[i+k-1]){
            st[k]=i;
            ap_col[i]=ap_diag_p[i-k+n]=ap_diag_s[i+k-1]=1;
            Back(k+1);
            ap_col[i]=ap_diag_p[i-k+n]=ap_diag_s[i+k-1]=0;
        }
}
int main(){
    freopen("damesah.in	", "r", stdin);
    freopen("damesah.out", "w", stdout);
    scanf("%d",&n);
    Back(1);
    printf("%d\n",nr_sol);
    return 0;
}