Cod sursa(job #1413783)

Utilizator alex_topTop Alexandru alex_top Data 2 aprilie 2015 08:43:55
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");

int n,v[14],k,c;
bool caut;
bool verif(int k)
{
    bool ok=true;
    int i;
    for(i=k-1;i>=1;i--)
    {
        if(v[k]==v[i] || abs(k-i)==abs(v[k]-v[i])) {ok=false;break;}
    }
    return ok;
}
void afis(int k)
{
    int i;
    for(i=1;i<=k;i++)
    {
        g<<v[i]<<" ";
    }
    g<<"\n";
}
int main()
{
    f>>n;
    k=1;
    v[k]=0;
    c=0;
    while(k>0)
    {
        caut=false;
        while(v[k]<n && !caut)
        {
            v[k]++;
            if(verif(k)) caut=true;
        }
        if(caut==true)
        {
            if(k==n) {c++; if(c==1) afis(k);}
            else k++,v[k]=0;
        }
        else k--;
    }
    g<<c;
    return 0;
}