Cod sursa(job #1521118)

Utilizator raduzxstefanescu radu raduzx Data 9 noiembrie 2015 22:17:37
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 1.16 kb
#include <fstream>
#include <cmath>
#include <algorithm>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int x[100],c;
int n,nr;
void afisare()
{
    int i;
    for(i=1;i<=n;i++)
        g<<x[i]<<" ";
    g<<'\n';
}
bool verif(int i)
{
    int j;
    for(j=i-1;j>=1;j--)
    {
        if(x[j]==x[i])
            return false;
        if(abs(x[j]-x[i])==i-j)
            return false;
    }
    return true;
}
int main()
{

    int i;
    f>>n;
    i=1;
    while(i>0 and nr<1)
    {
        x[i]++;
        if(x[i]>n)
        {
            x[i]=0;
            i--;
        }
        else
            if(verif(i)==true)
            {
                if(i==n) {nr+=1;afisare();}
                else
                    i+=1;
            }
    }
    while(i>0)
    {
        x[i]++;
        if(x[i]>n)
        {
            x[i]=0;
            i--;
        }
        else
            if(verif(i)==true)
            {
                if(i==n)
                    nr+=1;
                else
                    i+=1;
            }
    }
    g<<nr;
    f.close();
    g.close();
    return 0;
}