Pagini recente » Cod sursa (job #1848193) | Cod sursa (job #630490) | Cod sursa (job #423301) | Cod sursa (job #273475) | Cod sursa (job #2849243)
#include <bits/stdc++.h>
using namespace std;
int n;
int x[15];
bool f[15];
int ct;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
bool dama(int pas, int i)
{
if(f[i]) return 0;
int pas1,j;
for(j=i-1,pas1=pas-1;j&&pas1;--j,--pas1)
if(x[pas1]==j) return 0;
for(j=i+1,pas1=pas-1;j<=n&&pas1;++j,--pas1)
if(x[pas1]==j) return 0;
return 1;
}
void BT(int pas)
{
if(pas>n)
{
if(!ct)
{
for(int i=1;i<=n;i++)
fout<<x[i]<<" ";
fout<<"\n";
}
ct++;
}
else
{
for(int i=1;i<=n;i++)
if(dama(pas,i))
{
x[pas]=i;
f[i]=1;
BT(pas+1);
f[i]=0;
}
}
}
int main ()
{
fin>>n;
BT(1);
fout<<ct;
return 0;
}