Pagini recente » Cod sursa (job #2612087) | Cod sursa (job #872874) | Cod sursa (job #590924) | Cod sursa (job #1554513) | Cod sursa (job #1472170)
#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==0)
{
for(i=1;i<=n;i++)
{
g<<pozitie[i]<<' ';
gasit=true;
}
}
sol++;
}
else
{
for(i=1;i<=n;i++)
{
if(coloana[i]==0 && diagonala1[n-k+i]==0 && diagonala2[k+i-1]==0)
{
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;
}