Cod sursa(job #1108678)

Utilizator GeorgianBaditaBadita Marin-Georgian GeorgianBadita Data 15 februarie 2014 22:33:58
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include<fstream>
#include<cmath>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int v[100],n,sol=0;
int solutie(int k);
int valid(int k);
void bkt(int k);
void afisare(int k);
void bkt(int k)
{
    int i;
    for(i=1;i<=n;i++)
    {
        v[k]=i;
        if(valid(k)){
        if(solutie(k))
        afisare(k);
        else bkt(k+1);
        }
    }
}
int solutie(int k)
{
    if(k==n) return 1;
    return 0;
}
int valid(int k)
{
    int i;
    for(i=1;i<=k-1;i++)

        if(v[i]==v[k] || abs((float)v[k]-(float)v[i])==(k-i))
        return 0;
    return 1;
}
void afisare(int k)
{   int i,j,x;
    sol++;
    for(i=1;i<=n;i++)
    {for(j=1;j<=n;j++)
        if(v[i]==j&&sol==1) g<<j<<' ';
    }
    if(sol==1)g<<'\n';
}
int main()
{
    f>>n;
    bkt(1);
    g<<sol;
}