Cod sursa(job #2075918)

Utilizator ioana_marinescuMarinescu Ioana ioana_marinescu Data 25 noiembrie 2017 20:40:32
Problema Problema Damelor Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, l[15], c[15], d1[15], d2[15], k;

void bk(int p) {
    int i;
    if(p==n+1) {
        if(k==0) {
            for(i=1; i<=n; i++)
                if(l[i])
                fout<<l[i]<<" ";
            fout<<'\n';
        }
        k++;
    }
    for(i=1; i<=n; i++)
        if(c[i] == 0 && d1[i+p] == 0 && d2[i-p+n+1] == 0) {
                l[p]=i;
                c[i] = 1;
                d1[i+p] = 1;
                d2[i-p+n+1] = 1;
                bk(p+1);
                c[i] = 0;
                d1[i+p] = 0;
                d2[i-p+n+1] = 0;
            }
}
int main() {
    fin>>n;
    bk(1);
    fout<<k;
    return 0;
}