Cod sursa(job #1987358)

Utilizator Lazar_LaurentiuLazar Laurentiu Lazar_Laurentiu Data 30 mai 2017 15:01:53
Problema Problema Damelor Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
#define MAX 50

using namespace std;

ifstream f ("damesah.in");
ofstream g ("damesah.out");

int n,nrp,d[MAX],atc[MAX],atd1[MAX],atd2[MAX];
void ver (int l){
  if(l==n){
    nrp++;
    if(nrp==1) for(int i=0;i<n;i++)g<<d[i]<<" ";
  } else {
    for(int i=1;i<=n;i++){
      if(!atc[i]&&!atd1[l+i]&&!atd2[i-l+20]){
        atc[i]=atd1[l+i]=atd2[i-l+20]=true;
        d[l]=i;
        ver(l+1);
        atc[i]=atd1[l+i]=atd2[i-l+20]=false;
      }
    }
  }
}

int main()
{
    f>>n;
    ver(0);
    g<<'\n'<<nrp;
    f.close ();
    g.close ();
    return 0;
}