Cod sursa(job #2502344)

Utilizator NicuCNicu Capatina NicuC Data 30 noiembrie 2019 18:15:43
Problema Problema Damelor Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#define f in
#define g out

using namespace std;
ifstream in ( "damesah.in" );
ofstream out( "damesah.out" );
int n, sol, ok;
int v[200], d1[200], d2[200], fr[200];

void back ( int lin ){
    if ( lin > n  ){
        if ( !sol )
            for ( int i=1; i <= n; i++ )
                g<<v[i]<<" ";
        sol++;
        return;
    }
    for ( int col = 1; col <= n; col++ )
        if ( !fr[col] && !d1[n+col-lin] && !d2[col+lin] ){
            d1[n+col-lin] = 1; d2[col+lin] = 1; fr[col] = 1;
            v[lin] = col;
            back ( lin+1 );
            d1[n+col-lin] = 0; d2[col+lin] = 0; fr[col] = 0;
        }
}


int main() {
    f>>n;
    back ( 1 );
    g<<"\n"<<sol;
    return 0;
}