Cod sursa(job #1498472)

Utilizator Julian.FMI Caluian Iulian Julian. Data 8 octombrie 2015 17:18:12
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
#define nmax 20

using namespace std;
bool ds[2*nmax],dp[2*nmax],viz[nmax];
int nr,n,st[nmax];
ifstream fin("damesah.in");
ofstream fout("damesah.out");

void gen(int k)
{
    if(k==n+1)
        if(!nr){for(int i=1;i<=n;i++)
                fout<<st[i]<<' ';
                fout<<'\n'; nr=1; }
        else nr++;
    else
        for(int i=1;i<=n;i++)


         if(!dp[i-k+n-1] && !ds[i+k] && !viz[i])
         {st[k]=i;
          dp[i-k+n-1]=true;ds[i+k]=true;viz[i]=true;
          gen(k+1);
          dp[i-k+n-1]=false;ds[i+k]=false;viz[i]=false;
         }


}

int main()
{
    fin>>n;
    gen(1);
    fout<<nr;

}