Cod sursa(job #3164811)

Utilizator ShadowZoidPorojan Victor-Andrei ShadowZoid Data 4 noiembrie 2023 12:45:06
Problema Problema Damelor Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <fstream>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;
ifstream cin("damesah.in");
ofstream cout("damesah.out");
int v[15],nr,n,poz[10005];
long long S;
bool diag(int p)
{
    for(int i=1; i<p; i++)
        if(p-i==abs(poz[p]-poz[i]))
            return 0;
    return 1;
}
void backtracking(int k)
{
    if(k==n+1)
    {
        nr++;
        if(nr==1)
        {
            for(int i=1;i<=n;i++)
                cout<<poz[i]<<" ";
            cout<<"\n";
        }
    }
    else
    {
        for(int i=1;i<=n;i++)
            if(v[i]==0)
        {
            v[i]=1;
            poz[k]=i;
            if(diag(k)==1)
                backtracking(k+1);
            v[i]=0;
        }
    }
}
int main()
{
    cin>>n;
    backtracking(1);
    cout<<nr;
    return 0;
}