Cod sursa(job #1701070)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 12 mai 2016 07:46:59
Problema Problema Damelor Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>
#define DIM 15

using namespace std;

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

int N,D[DIM][DIM],A[DIM],B[2*DIM],C[2*DIM],sol[DIM],nr;

void back(int k){
    if(k==N+1){
        if(!nr){
            for(int i=1;i<=N;i++)
                fout <<sol[i]<<" ";
        }
        nr++;
        return;
    }

    for(int i=1;i<=N;i++)
        if(!A[i] && !B[k+i-N] && !C[k-i+N]){
            A[i]=B[k+i-N]=C[k-i+N]=1;
            sol[k]=i;
            back(k+1);
            A[i]=B[k+i-N]=C[k-i+N]=0;
        }
}


int main(){

    fin >> N;

    back(1);

    fout << "\n" << nr << "\n";

    fin.close();fout.close();

    return 0;

}