Pagini recente » Cod sursa (job #2307452) | Cod sursa (job #2968725) | Istoria paginii runda/oni2014ziua1_11 | Cod sursa (job #1417666) | Cod sursa (job #2644319)
#include <bits/stdc++.h>
using namespace std;
ifstream in("damesah.in");
ofstream out("damesah.out");
int N, nrsol, sol[15];
bool viz[15];
bool ok(int k,int val)
{
for(int i=1;i<k;i++)
{
if(abs(val-sol[i])==abs(i-k))
return false;
}
return true;
}
void bkt(int k)
{
if(k>N)
{
if(nrsol==0)
{
for(int i=1;i<=N;i++)
out<<sol[i]<<' ';
out<<'\n';
}
nrsol++;
}
else
{
for(int i=1;i<=N;i++)
{
if(!viz[i] && ok(k,i))
{
viz[i]=true;
sol[k]=i;
bkt(k+1);
viz[i]=false;
}
}
}
}
int main()
{
in>>N;
bkt(1);
out<<nrsol;
}