Cod sursa(job #2417964)

Utilizator bluestorm57Vasile T bluestorm57 Data 2 mai 2019 16:19:37
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <fstream>
#include <cmath>

using namespace std;

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

const int NMAX = 14;
int n,nr;
int quen[NMAX], st[NMAX];

bool valid(int k){
    int i;
    for(i = 1 ; i <k ; i++)
        if(quen[i] == quen[k] || k - i == abs(quen[k] - quen[i]) )
            return 0;
    return 1;
}

void tipar(){
    int i;
    if(!nr){
    for(i = 1 ; i <= n ; i++)
        g << quen[i] << " ";
    g << "\n";}
    nr++;
}
void make(){
    int k = 1;
    quen[1] = 0;
    while(k){
        while(quen[k] < n){
            quen[k] = quen[k] + 1;
            if(valid(k))
                if(k == n)
                    tipar();
            else{
                k++;
                quen[k] = 0;
            }
        }
        k--;
    }

}

int main(){
    f >> n;
    make();
    g << nr;

return 0;
}