Cod sursa(job #1473533)

Utilizator adiXMGemene Adrian adiXM Data 19 august 2015 16:27:11
Problema Problema Damelor Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int n,k;
int viz[170],a[170],nr=0,d1[170],d2[170];
inline void Back(int k){

    if(k==n+1)
    {
        nr++;
        if(nr==1)
        {
            for(int i=1;i<=n;i++)
                g<<a[i]<<" ";
            g<<"\n";
        }
        return;
    }
    for(int i=1;i<=n;i++)
        if(viz[i]==0 && d1[k-i+n]==0 && d2[k+i]==0)
        {
            viz[i]=1;
            d1[k-i+n]=1;
            d2[k+i]=1;
            a[k]=i;
            Back(k+1);
            viz[i]=0;
            d1[k-i+n]=0;
            d2[k+i]=0;
        }

}
int main()
{
    f>>n;
    Back(1);
    g<<nr;
    return 0;
}