Pagini recente » Cod sursa (job #510551) | Cod sursa (job #1875164) | Cod sursa (job #2715483) | Cod sursa (job #1725716) | Cod sursa (job #1854852)
#include <bits/stdc++.h>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int n,cnt,sol[14],x[14],v[14],s[30],d[30];
void bkt(int i)
{
int j;
if(i==n+1)
{
cnt++;
if(cnt==1)
for(j=1;j<=n;j++)
sol[j]=x[j];
return ;
}
for(j=1;j<=n;j++)
if((v[j]==0)&&(d[n+i-j]==0)&&(s[i+j-2]==0))
{
v[j]=1;d[n+i-j]=1;s[i+j-2]=1;
x[i]=j;
bkt(i+1);
v[j]=0;d[n+i-j]=0;s[i+j-2]=0;
}
}
int main()
{
f>>n;
bkt(1);
for(int i=1;i<=n;i++)
g<<sol[i]<<' ';
g<<'\n'<<cnt;
return 0;
}