Cod sursa(job #1425794)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 28 aprilie 2015 00:12:36
Problema Problema Damelor Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#define nmax 15
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int n,v[nmax],sol;
int uz[nmax],dp[nmax*2],ds[nmax*2];


void bkt(int nr)
{
    int i;
    if (nr>n) {
        sol++;
        if (sol==1) {
            for (i=1;i<=n;i++)
                g<<v[i]<<' ';
            g<<'\n';
        }
        return;
    }
    for (i=1;i<=n;i++)
        if (uz[i]==0&&dp[i-nr+nmax]==0&&ds[i+nr]==0) {
            v[nr]=i;
            uz[i]=1;
            dp[v[nr]-nr+nmax]=1;
            ds[nr+v[nr]]=1;
            bkt(nr+1);

            uz[i]=0;
            ds[nr+v[nr]]=0;
            dp[v[nr]-nr+nmax]=0;
            v[nr]=0;
        }


}
int main()
{
    int i,j;
    f>>n;
    bkt(1);
    g<<sol<<'\n';

    return 0;
}