Cod sursa(job #2312286)

Utilizator etienAndrone Stefan etien Data 4 ianuarie 2019 16:48:11
Problema Problema Damelor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("regine.in");
ofstream fout("regine.out");
int n,v[30],contor;
void tiparnita()
{
    int ii;
    contor++;
    if(contor<=1)
    {
        for(ii=1;ii<=n;++ii)
            fout<<v[ii]<<" ";
        fout<<"\n";
    }
}
bool valid(int l)
{
    int j;
    for(j=1;j< l;++j)
    {
        if(v[j]==v[l])
            return false;
        if(fabs(j-l)==fabs(v[j]-v[l]))
            return false;
    }
    return true;
}
void back_on_track(int k)
{
    for(int i=1;i<=n;++i)
    {
        v[k]=i;
        if(valid(k))
        {
            if(k==n)
                tiparnita();
            else back_on_track(k+1);
        }
    }
}
int main()
{
    fin>>n;
    back_on_track(1);
    fout<<contor;
    return 0;
}