Cod sursa(job #1104598)

Utilizator otnielMercea Otniel otniel Data 10 februarie 2014 21:29:07
Problema Problema Damelor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<iostream>
using namespace std;
#include<stdio.h>
#include<stdlib.h>
FILE *f,*g;
int sol[100],n,i,num;
int valid(int k)
{
    for(i=1;i<k;i++)
        if(sol[i]==sol[k]||abs(i-k)==abs(sol[i]-sol[k]))
            return 0;
        return 1;
}
int back(int k)
{
    if(k==n+1)
    {num++;
    if(num==1)
        {for(i=1;i<k;i++)
            fprintf(g,"%d ",sol[i]);
            fprintf(g,"\n");
            }

    }
    else
    {
        sol[k]=0;
        while(sol[k]<n)
            {sol[k]++;
            if(valid(k))
            back(k+1);}
    }


}
int main()
{
    f=fopen("damesah.in.txt","r");
    g=fopen("damesha.out.txt","w");
    fscanf(f,"%d",&n);
    back(1);
    fprintf(g,"%d",num);
}