Pagini recente » Cod sursa (job #1849673) | Cod sursa (job #1954697) | Cod sursa (job #406713) | Cod sursa (job #2476728) | Cod sursa (job #2480130)
#include <iostream>
#include <math.h>
#include <fstream>
#include <bits/stdc++.h>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int col[15],n,i,dp[30],ds[30],Q[15],rez;
void afisare()
{
// cout<<"DA";
for(i=0;i<n;i++)
{
Q[i]++;
}
for(i=0;i<n;i++)
{
fout<<Q[i]<<" ";
}
for(i=0;i<n;i++)
{
Q[i]--;
}
fout<<"\n";
}
void mark(int no,int i,int k,int n)
{
col[i]=no;
dp[i-k+n-1]=no;
ds[i+k]=no;
}
void bkt(int k,int n)
{
if(k==n)
{
++rez;
//afisare();
//cout<<"DA";
if(rez==1)
{
// cout<<"---";
afisare();
}
// return;
}
else
{
for(int i=0;i<n;i++)
{
if(col[i]==0 && dp[i-k+n-1]==0 && ds[i+k]==0)
{
//cout<<n<<" ";
// cout<<"DA";
Q[k]=i;
mark(1,i,k,n);
//afisare();
bkt(k+1,n);
//cout<<"DA2";
mark(0,i,k,n);
}
}
}
}
int main()
{
fin>>n;
bkt(0,n);
fout<<rez;
return 0;
}