Cod sursa(job #2682130)

Utilizator Tudor_PascaTudor Pasca Tudor_Pasca Data 7 decembrie 2020 20:53:28
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("damesah.in");
ofstream out("damesah.out");

int n, ans;
int v[15];

void print()
{
    for(int i = 1; i <= n; i++)
        out << v[i] << ' ';
    out << '\n';
}

bool check(int index)
{
    for(int i = 1; i < index; i++)
        if(v[index] == v[i] || v[index] == v[i] + (index - i) || v[index] == v[i] - (index - i))
            return false;

    return true;
}

void sah(int index)
{
    for(v[index] = 1; v[index] <= n; v[index]++)
    {
        if(index == n + 1)
        {
            if(ans == 0)
                print();
            ans++;
            return;
        }
        else if(check(index))
            sah(index + 1);
    }
}

int main()
{
    in >> n;

    sah(1);

    out << ans << '\n';

    return  0;
}