Cod sursa(job #2336255)

Utilizator Andrei-27Arhire Andrei Andrei-27 Data 4 februarie 2019 22:20:33
Problema Problema Damelor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>
using namespace std ;
const int NR = 100002 ;
ifstream in ("damesah.in") ;
ofstream out ("damesah.out") ;
bool d [ 14 ][ 14 ] ;
int n , cnt ;
bool clearz ( int i , int j )
{
    int a , b , k ;
    for ( k = 1 ; k <= i ; ++ k )   if ( d [ k ][ j ] ) return false ;
    a = i , b = j ;
    for ( ; a && b <= n ; a -- , b ++ )
    {
        if ( d [ a ][ b ] ) return false ;
    }
    a = i , b = j ;
    for ( ; b && a ; a -- , b -- )
    {
        if ( d [ a ][ b ] ) return false ;
    }
    return true ;
}
int bt ( int level )
{
    if ( level == n + 1 )   return ++ cnt , 0 ;
    int j ;
    for ( j = 1 ; j <= n ; j ++ )
    {
        if ( clearz ( level , j ) )
        {
         d [ level ][ j ] = true ;
         bt ( level + 1 ) ;
         d [ level ][ j ] = false ;
        }
    }
    return 0 ;
}
int main ()
{
    in >> n ,
    bt( 1 ) ;
    out << cnt ;
}