Cod sursa(job #1714020)

Utilizator Ruxandra985Nanu Ruxandra Laura Ruxandra985 Data 7 iunie 2016 09:33:13
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <cstdio>

using namespace std;
FILE *fin=fopen ("damesah.in","r");
FILE *fout=fopen ("damesah.out","w");
int x[14],n,sol;
int modul (int nr){
    if (nr<0)
        return -nr;
    return nr;
}
int cont (int pas){
    for (int i=1;i<pas;i++)
        if (x[pas]==x[i] || ( pas-i==modul(x[pas]-x[i]) ))
            return 0;
    return 1;
}
void back (int pas){
    if (pas>n){
        sol++;
        if (sol==1){
            for (int i=1;i<=n;i++)
                fprintf (fout,"%d ",x[i]);
            fprintf (fout,"\n");
        }
    }
    else for (int i=1;i<=n;i++){
        x[pas]=i;
        if (cont(pas))
            back(pas+1);
    }
}
int main()
{
    fscanf (fin,"%d",&n);
    back(1);
    fprintf (fout,"%d",sol);
    return 0;
}