Pagini recente » Cod sursa (job #1807716) | Cod sursa (job #1278874) | Cod sursa (job #1995690) | Cod sursa (job #390184) | Cod sursa (job #1711562)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int a[14][14],n,k,ok,c[14],d1[29],d2[29],nr;
void bK(int i,int j){
if(i>n)
{
if(nr==n){
k++;
if(ok==0){
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
if(a[i][j]==1)
fout<<j<<" ";}
ok=1;}
}
return;
}
if(j==n+1)
{
return;
}
if(c[j]==0 &&d1[n-j+i]==0&&d2[i+j+1]==0)
{
a[i][j]=1;
c[j]=1;
d1[n-j+i]=1;
d2[i+j+1]=1;
nr++;
bK(i+1,1);
a[i][j]=0;
c[j]=0;
d1[n-j+i]=0;
d2[i+j+1]=0;
nr--;
}
bK(i,j+1);
}
int main()
{
fin>>n;
bK(1,1);
fout<<endl;
fout<<k<<endl;
return 0;
}