Cod sursa(job #3241149)

Utilizator Gabriel_DaescuDaescu Gabriel Florin Gabriel_Daescu Data 27 august 2024 10:48:05
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.97 kb
#include <fstream>
using namespace std;
ifstream   fin("damesah.in");
ofstream  fout("damesah.out");
int n,nr,prima,C[15];

void afisare()
{
    if(prima)
    {
        for(int i=1; i<=n; i++)
        {
            fout<< C[i] << " ";
        }
        fout<< "\n";
        prima=0;
    }
    nr++;
}

int solutie(int k)
{
    if(k==n)
    {
        return 1;
    }
    return 0;
}

int ok(int i, int k)
{
    int j;

    for(j=1; j<=k; j++)
    {
        if(C[j]==i || abs(C[j]-i)==(k-j))
        {
            break;
        }
    }

    if(j==k)
    {
        return 1;
    }
    return 0;
}

void BACK(int k)
{
    for(int i=1; i<=n; i++)
    {
        C[k]=i;
        if(ok(i,k))
        {
            if(solutie(k))
            {
                afisare();
            }
            BACK(k+1);
        }
    }
}

int main()
{
    fin>>n;

    nr=0;
    prima=1;

    BACK(1);

    fout<< nr;

    return 0;
}