Pagini recente » Cod sursa (job #963431) | Istoria paginii runda/urmasii_lui_moisil_pt_saraci/clasament | Cod sursa (job #1208444) | Cod sursa (job #161826) | Cod sursa (job #1470068)
#include<fstream>
using namespace std;
ifstream f("damesah.in",ios::in);
ofstream g("damesah.out",ios::out);
int n,sol,pozitie[14];
bool gasit, coloana[14],diagonala1[28],diagonala2[28];
int back(int k)
{
int i;
if(k==n+1)
{
if(!gasit)
{
for(i=1;i<=n;i++)
g<<pozitie[i]<<' ';
gasit=true;}
sol++;}
else
for(i=1;i<=n;i++)
if(!coloana[i] && !diagonala1[n-k+i] && !diagonala2[k+i-1])
{
pozitie[k]=i;
coloana[i]=diagonala1[n-k+i]=diagonala2[k+i-1]=true;
back(k+1);
coloana[i]=diagonala1[n-k+i]=diagonala2[k+i-1]=false;}}
int main()
{
f>>n;
back(1);
g<<'\n'<<sol;
return 0;}