Cod sursa(job #1724462)

Utilizator BlackNestaAndrei Manaila BlackNesta Data 3 iulie 2016 11:56:02
Problema Problema Damelor Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <bits/stdc++.h>

using namespace std;

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

vector <int> v;
int cnt, n;

inline bool  Verifica()
{
    for (int i = 0; i <= n; i++)
        for (int j = 0; j < i; j++)
            if (v[i] == v[j] || (i - j == abs(v[i] - v[j])))
                return false;
    return true;
}

int main()
{
    f >> n;
    f.close();
    for(int i = 1; i <= n; i++)
        v.push_back(i);
    while(next_permutation(v.begin(), v.end()))
        if(Verifica())
        {
            if(cnt == 0)
            {
                for(int i = 0; i < n; i++)
                    g << v[i] << " ";
                g << "\n";
            }
            cnt++;
        }
    g << cnt < "\n";
    g.close();
    return 0;
}