Cod sursa(job #1148829)

Utilizator CostanMiriamCostan Miriam CostanMiriam Data 21 martie 2014 09:59:22
Problema Problema Damelor Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

using namespace std;

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

int sol,c[20],d1[50],d2[50],n,v[20];

void back (int k) {

    if (k>n) {
        if (sol<1) {
            for (int i=1;i<=n;i++)
                fout<<v[i]<<" ";
            fout<<"\n";
        }
        sol++;
        return ;
    }
    for (int i=1;i<=n;i++) {
        if (c[i]==0 && d1[i-k+n]==0 && d2[2*n-k-i+1]==0){
            c[i]=d1[i-k+n]=d2[2*n-k-i+1]=1;
            v[k]=i;
            back(k+1);
            c[i]=d1[i-k+n]=d2[2*n-k-i+1]=0;
        }
    }
}


int main () {

    fin>>n;
    back(1);

    fout<<sol<<"\n";

    return 0;
}