Cod sursa(job #3004584)

Utilizator tudor_costinCostin Tudor tudor_costin Data 16 martie 2023 14:05:34
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.95 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int n,cnt=0,first=1;
vector<int> coloane;
bool NotSeeing(int lin,int col)
{
    for(int i=0;i<coloane.size();i++)
    {
        if(col==coloane[i] || (abs(lin-(i+1))==abs(col-coloane[i])))
           {
               return false;
           }
    }
    return true;
}
void solve(int lin)
{
    if(lin==n+1)
    {
        cnt++;
        if(first==1)
        {
            for(int i=0;i<n;i++)
            {
                fout<<coloane[i]<<' ';
            }
            first=0;
        }
        return;
    }
    for(int i=1;i<=n;i++)
    {
        if(NotSeeing(lin,i))
        {
            coloane.push_back(i);
            solve(lin+1);
            coloane.pop_back();
        }
    }
    return;

}
int main()
{
    fin>>n;
    solve(1);
    fout<<'\n'<<cnt;
    return 0;
}