Cod sursa(job #1753610)

Utilizator alex.craciunCraciun Alexandru alex.craciun Data 6 septembrie 2016 19:34:47
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
FILE *f=fopen("damesah.in","r");
int n,x[15],nr=0;
int valid(int k)
{
    for(int i=1;i<k;i++)
        if(x[i]==x[k]||k-i==abs(x[k]-x[i]))
            return 0;
        return 1;
}
FILE *f1=fopen("damesah.out","w");
void afish()
{
    nr++;
    if(nr==1)
    for(int i=1;i<=n;i++)
       fprintf(f1,"%d ",x[i]);



}
void back(int k)
{
    for(x[k]=1;x[k]<=n;x[k]++)
    {
        if(valid(k))
            if(k==n)
              afish( );
            else
                back(k+1);

    }
}

int main()
{
    fscanf(f,"%d",&n);
    back(1);
    fprintf(f1,"\n%d",nr);
    return 0;
}