Cod sursa(job #1317427)

Utilizator retrogradLucian Bicsi retrograd Data 14 ianuarie 2015 21:35:07
Problema Problema Damelor Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include<fstream>
#include<algorithm>

using namespace std;

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

int V[20], n;

bool check() {
    for(int i=1; i<=n; i++) {
        for(int j=1; j<=n; j++) {
            if((V[j] - V[i])*(V[j] - V[i]) == (j-i)*(j-i) && j-i)
                return false;
        }
    }
    return true;
}


int main() {
    fin>>n;
    bool first = 1;
    int nrsol = 0;
    for(int i=1; i<=n; i++) {
        V[i] = i;
    }
    while(next_permutation(V+1, V+n+1)) {
        if(check()) {
            if(first) {
            first = 0;
            for(int i=1; i<=n; i++) fout<<V[i]<<" ";
            }
            nrsol++;
        }
    }
    fout<<'\n'<<nrsol;
    return 0;
}