Cod sursa(job #3219033)

Utilizator Dia3141Costea Diana Stefania Dia3141 Data 29 martie 2024 19:53:13
Problema Problema Damelor Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#include <cmath>
using namespace std;
ifstream cin("damesah.in");
ofstream cout("damesah.out");
int n,x[15],sol;
bool c[15],ok;
bool verif(int l,int c,int n){
    for(int i=1;i<=n;i++)
        if(abs(i-l)==abs(x[i]-c))
            return 0;
    return 1;
}
void dame(int pas){
    if(pas==n+1){
        if(ok){
            ok=0;
            for(int i=1;i<=n;i++)
                cout<<x[i]<<" ";
            cout<<'\n';
        }
        sol++;
    }else{
        for(int j=1;j<=n;j++)
            if(!c[j]&&verif(pas,j,pas-1)){
                c[j]=1;
                x[pas]=j;
                dame(pas+1);
                c[j]=0;
            }
    }
}
int main()
{
    cin>>n;
    ok=1;
    dame(1);
    cout<<sol;
    return 0;
}