Cod sursa(job #1113236)

Utilizator TudorMTudor Moldovanu TudorM Data 20 februarie 2014 14:46:46
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include<fstream>
#include<cmath>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int st[15], nr, n;
int valid(int k)
{
    int i;
    for(i=1;i<k;i++)
    {
        if(st[i]==st[k])return 0;
        if(fabs(st[k]-st[i])==k-i)return 0;
    }
    return 1;

}
void afis()
{
    int i;
    for(i=1;i<=n;i++)g<<st[i]<<" ";
    g<<'\n';
}
int solutie(int k)
{
    if(k==n)return 1;
    return 0;
}
void bkt(int k)
{
    int i;
    for(i=1;i<=n;i++)
    {
        st[k]=i;
        if(valid(k))
        {
            if(solutie(k))
            {
                nr++;
                if(nr==1)afis();
            }
            else bkt(k+1);
        }
    }
}
int main()
{
    f>>n;
    bkt(1);
    g<<nr;
    f.close();
    g.close();
    return 0;
}