Cod sursa(job #3217899)

Utilizator Bianca2507Negret Bianca Bianca2507 Data 25 martie 2024 09:30:16
Problema Problema Damelor Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <fstream>

using namespace std;
ifstream cin("damesah.in");
ofstream cout("damesah.out");
int n,x[15],fr[15],nr=0;
int modul(int x)
{
    if(x>=0)
        return x;
    else
        return -x;
}
int f(int pas)
{
    for(int i=1; i<=pas-1; i++)
        if(modul(pas-i)==modul(x[pas]-x[i]))
            return 0;
    return 1;
}
void back(int pas)
{
    if(pas==n+1)
    {
        nr++;
        if(nr==1)
            for(int i=1; i<=n; i++)
                cout<<x[i]<<" ";
    }
    else
    {
        for(int i=1; i<=n; i++)
            if(fr[i]==0)
            {
                fr[i]=1;
                x[pas]=i;
                if(f(pas))
                    back(pas+1);
                fr[i]=0;
            }
    }
}
int main()
{
    cin>>n;
    back(1);
    cout<<'\n'<<nr;
    return 0;
}