Cod sursa(job #1901050)

Utilizator mateigabriel99Matei Gabriel mateigabriel99 Data 3 martie 2017 18:39:57
Problema Problema Damelor Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>

#define NMax 40

using namespace std;

ifstream fin("damesah.in");
ofstream fout("damesah.out");

int N,nrSol,Queen[NMax];
bool col[NMax],diagP[NMax],diagS[NMax];

void Back(int k)
{
    if(k==N+1)
    {
        if(nrSol<1)
            for(int i=1;i<=N;i++)
                fout<<Queen[i]<<" ";
        nrSol++;
    }
    for(int i=1;i<=N;i++)
        if(col[i]==false && diagP[i+k]==false && diagS[i+N-1-k]==false)
        {
            Queen[k]=i;
            col[i]=diagP[i+k]=diagS[i+N-1-k]=true;
            Back(k+1);
            col[i]=diagP[i+k]=diagS[i+N-1-k]=false;
        }
}

int main()
{
    fin>>N;
    Back(1);
    fout<<"\n"<<nrSol;

    return 0;
}