Cod sursa(job #1364664)

Utilizator alexmisto342Turdean Alexandru alexmisto342 Data 27 februarie 2015 19:29:19
Problema Problema Damelor Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <fstream>
#include <algorithm>
#include <vector>
#include <cstring>
#include <map>
#include <set>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int i,j,d1[50],d2[50],c[15],s[15],nrsol,prima=1,n;
void validare()
{
    if(prima)
    {prima=0;
        for(i=1;i<=n;i++)
            g<<s[i]<<" ";
        g<<'\n';
    }
    nrsol++;
}
void back(int nivel)
{
    for(int j=1;j<=n;j++)
        if(!c[j]&&!d1[nivel-j+15]&&!d2[j+nivel])
        {
            s[nivel]=j;
            if(nivel==n)
                validare();
            else
            {
                c[j]=1;
                d2[j+nivel]=1;
                d1[nivel-j+15]=1;
                back(nivel+1);
                d1[nivel-j+15]=0;
                d2[j+nivel]=0;
                c[j]=0;
            }
        }
}
int main()
{
    f>>n;
    back(1);
    g<<nrsol;
    return 0;
}