Cod sursa(job #2647842)

Utilizator XLuysSaratean Tudor XLuys Data 6 septembrie 2020 17:26:23
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.94 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int N;
int J;
int SOL;
int C[20];
bool COL[20],DiagP[20],DiagS[20];
void BACKK( int );
void afisare();
int main()
{
    fin >> N;
    BACKK(1);
    fout<<SOL;
    return 0;
}
void BACKK(int k)
{
    if(k == N + 1)
    {
        if(!SOL)
            afisare();
        SOL ++;
        return;
    }
    for(int i = 1 ; i <= N ; ++i)
            if(!COL[i] && !DiagP[i-k+N] && !DiagS[i+k-1])
        {
            C[k] = i;
            COL[i] = 1;
            DiagP[i-k+N] = 1;
            DiagS[i+k-1] = 1;
            BACKK(k + 1);
            COL[i] = 0;
            DiagP[i-k+N] = 0;
            DiagS[i+k-1] = 0;
        }
    else if(C[1] == 2)
        cout<< k << ' ' << i << '\n';
   }
void afisare()
{
    for(int i = 1 ; i <= N ; ++i)
        fout<< C[i] << ' ';
    fout<<'\n';
}