Pagini recente » Cod sursa (job #2539824) | Cod sursa (job #2963917) | Cod sursa (job #2534585) | Cod sursa (job #1605714) | Cod sursa (job #2058682)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
#define lim 15
int n,nrsol,lin[lim];
bool col[lim],dp[lim],ds[lim];
void backk (int k)
{
if (k==n+1)
{
if (nrsol<1)
for (int i=1; i<=n; i++)
fout<<lin[i]<<" ";
nrsol++;
}
for (int i=1; i<=n; i++)
if (col[i]==0 && dp[i+k]==0 && ds[i+n-1-k]==0)
{
lin[k]=i;
col[i]=dp[i+k] = ds[i+n-1-k] = 1;
backk (k+1);
col[i]=dp[i+k] = ds[i+n-1-k] = 0;
}
}
int main()
{
fin>>n;
backk(1);
fout<<'\n'<<nrsol;
fout.close();
return 0;
}