Pagini recente » Cod sursa (job #2450838) | Cod sursa (job #1961769) | Cod sursa (job #2617667) | Cod sursa (job #1120876) | Cod sursa (job #1693516)
#include <fstream>
#include <stdlib.h>
#include <iostream>
using namespace std;
ifstream in("damesah.in");
ofstream out("damesah.out");
int v[15],a=0,n;//v[line]=column
bool first=true;
void bt(int x)
{
if (x>n)
{
if (first)
{
first=false;
for (int i=1;i<=n;i++)
out<<v[i]<<" ";
out<<"\n";
}
a++;
}
else
{
bool k;
for (int i=1;i<=n;i++)//column
{
k=true;
for (int j=1;j<x;j++)//line
if ( (i==v[j]) || (x-j==abs(v[j]-i)) )
{
k=false;
break;
}
if (k) {v[x]=i; bt(x+1);}
}
}
}
int main()
{
in>>n;
bt(1);
out<<a;
return 0;
}