Pagini recente » Cod sursa (job #950064) | Cod sursa (job #1760037) | Cod sursa (job #1949643) | Cod sursa (job #2026796) | Cod sursa (job #1307969)
#include<iostream>
#include<fstream>
#include<algorithm>
#include<bitset>
#include<math.h>
using namespace std;
bool b;
int cont;
int v[13];
FILE* so=fopen("damesah.out","w");
void afis(int n)
{
int i;
for(i=0;i<n;++i)
fprintf(so,"%i ",v[i]+1);
b=true;
}
void dame(int n,int k)
{
if(k==n)
{
if(!b)
afis(n);
++cont;
}
else
{
int i,j;
for(i=0;i<n;++i)
{
for(j=0;j<k;++j)
{
if(v[j]==i||abs(v[j]-i)==k-j)
break;
}
if(j==k)
{
v[k]=i;
dame(n,k+1);
}
}
}
}
int main()
{
ifstream si;
si.open("damesah.in");
int n;
si>>n;
dame(n,0);
fprintf(so,"\n%i\n",cont);
}