Pagini recente » Cod sursa (job #496319) | Cod sursa (job #2373645) | Cod sursa (job #3220320) | Cod sursa (job #1900920) | Cod sursa (job #1876692)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin ("damesah.in");
ofstream cout("damesah.out");
vector <__int8> a(13);
vector <bool> q(13),d1(25),d2(25);
int x=0;
__int8 n;
bool b=true;
void bk(__int8 k)
{
if (k==n)
{
if (b)
{
for (__int8 i=0; i<n; cout << a[i]+1 << ' ',i++);
cout << '\n';
b=false;
}
x++;
return;
}
for (__int8 i=0; i<n; i++)
if (!q[i] && !d1[i-k+n-1] && !d2[k+i])
{
a[k]=i;
q[i]=d1[i-k+n-1]=d2[i+k]=true;
bk(k+1);
a[k]=-1;
q[i]=d1[i-k+n-1]=d2[i+k]=false;
}
}
main()
{
n=13;cin >> n;
bk(0);
cout << x;
}