Pagini recente » Cod sursa (job #926912) | Cod sursa (job #2343985) | Cod sursa (job #1197170) | Cod sursa (job #723955) | Cod sursa (job #2304921)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int n;
vector<int> sol;
int solutii;
void bkt(int poz);
bool ver(int x);
bool ok=true;
int main()
{
fin>>n;
bkt(0);
fout<<solutii<<'\n';
return 0;
}
bool ver(int x)
{
bool key=true;
for(int i=sol.size()-1; i>=0 && key; i--)
{
int linie_adauga=sol.size();
if(sol[i]==x || abs(linie_adauga-i)+1==abs(x-sol[i])+1) key=false;
}
return key;
}
void bkt(int poz)
{
if(poz==n)
{
solutii++;
if(ok)
{
for(int i=0; i<sol.size(); i++) fout<<sol[i]<<' ';
fout<<'\n';
ok=false;
}
return;
}
for(int i=1; i<=n; i++)
{
if(ver(i))
{
sol.push_back(i);
bkt(poz+1);
sol.pop_back();
}
}
}