Cod sursa(job #1319342)

Utilizator asavoaeigeoAsavoaei Georgiana asavoaeigeo Data 16 ianuarie 2015 21:26:03
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int n,x[20],viz[20],nr;
int Valid(int k)
{
    int i;
    for(i=1;i<=k-1;i++)
       if (k-i==abs((double)x[k]-x[i])) return 0;
    return 1;
}

void Afisare (int k)
{
    int i;
        for(i=1;i<=k;i++)
       fout<<x[i]<<" ";
    fout<<"\n";
}

void back(int k)
{
    int i;
    for(i=1;i<=n;i++)
      if(viz[i]==0)  { x[k]=i;
                       viz[i]=1;
                       if(Valid(k)==1) {if(k==n && nr==0) {Afisare(k);nr++;}
                                       else if(k==n &&nr!=0) nr++;
                                       else back(k+1);
                                        }
                       viz[i]=0;
                     }
}

int main()
{
    fin>>n;
    back(1);
    fout<<nr;
  return 0;
}