Cod sursa(job #1719566)

Utilizator Mtmadalin97MATEI madalin Mtmadalin97 Data 19 iunie 2016 16:37:34
Problema Dame Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <cmath>
#include <fstream>

using namespace std;
ifstream f("dame.in");
ofstream g("dame.out");
int x[13],n,nr,ok=0;
void tipar()
{int i,j;
for(i=1;i<=n;i++)
   g<<i<<" "<<x[i]<<endl;
   g<<endl;

ok=1;}
int ebun(int k)
{int i;
for(i=1;i<k;i++)
    if(x[i]==x[k] || abs(x[i]-x[k])==abs(i-k))
    return 0;
return 1;

}
void backtrack(int k )
{int i;
if(k==n+1)
    {if(ok==0)tipar();
    nr++;}
    else  for(i=1;i<=n;i++)
    {
        x[k]=i;
    if(ebun(k)&&ok==0) backtrack(k+1);

    }


}
int main()
{
   f>>n;
   g<<n<<endl;
   backtrack(1);

}