Cod sursa(job #1714018)

Utilizator Liviu_Ionut_MoantaMoanta Ionut Liviu Liviu_Ionut_Moanta Data 7 iunie 2016 09:32:45
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include<fstream>
#include<bitset>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int n,i,j,z,x[20];
bitset <10> L[9],C[9],P[3][3];
pair<int,int>v[82];
int modul(int nr){
    if(nr>0){
        return nr;
    }
    else{
        nr=-nr;
        return nr;
    }
}
int cont(int pas){
    for(int i=1;i<pas;i++){
        if(x[pas]==x[i]|| (pas-i==modul(x[pas]-x[i]))){
            return 0;
        }
    }
    return 1;
}
int sol;
void backl(int pas){
    if(pas>n){
        sol++;
        if(sol==1){
            for(i=1;i<=n;i++){
                fout<<x[i]<<" ";
            }
            fout<<"\n";
        }
    }
    else{
        for(int i=1;i<=n;i++){
            x[pas]=i;
            if(cont(pas)==1){
                backl(pas+1);
            }
        }
    }

}
int main(){
    fin>>n;
    backl(1);
    fout<<sol;
    return 0;
}