Cod sursa(job #1174536)

Utilizator ionut98Bejenariu Ionut Daniel ionut98 Data 23 aprilie 2014 10:58:44
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 1.07 kb
#include<fstream>
#include<cmath>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int x[30],n,i,p,con;
int valid(int k)
{
    int i;
    for(i=1;i<k;i++)
      if(x[i]==x[k]||fabs(x[i]-x[k])==fabs(k-i))
      return 0;
      return 1;

}
void back(int k)
{
    int i;
    if(k==n+1)
    {
        con++;
        if(con==1)
        {
            for(i=1;i<=n;i++)
            g<<x[i]<<" ";
            g<<"\n";
        }
    }
    else
    for(i=1;i<=n;i++)
    {
        x[k]=i;
        if(valid(k))
          back(k+1);
    }
}
int main()
{
    f>>n;
   /* i=1;
    do
    {
        do
        {
            x[i]++;
            if(x[i]>n)
            {
                x[i]=0;
                i--;
            }
            else
            if(valid(i))
              i++;
        }while(i<=p&&i>0);
        if(i>p)
        {
            for(i=1;i<=p;i++)
              g<<x[i]<<" ";
              i=p;
              g<<"\n";
        }
    }while(i>0);
    */
    back(1);
    g<<con;
    return 0;
}