Pagini recente » Cod sursa (job #2028454) | Cod sursa (job #1881724) | Cod sursa (job #491072) | Cod sursa (job #1551900) | Cod sursa (job #2297575)
#include <fstream>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int st[13],n,sol=0;
bool verifica(int niv)
{
for(int i=0;i<niv;++i)
if(st[i]==st[niv] || i-st[i]==niv-st[niv] || i+st[i]==niv+st[niv]) return 0;
return 1;
}
void backtr(int niv)
{
for(int i=0; i<n; ++i)
{
st[niv]=i;
if(verifica(niv))
{
if(niv<n-1)
backtr(niv+1);
else
{
if(sol==0)
{
for(int i=0; i<n; ++i)
g<<st[i]+1<<' ';
g<<'\n';
}
++sol;
}
}
}
}
int main()
{
f>>n;
backtr(0);
g<<sol<<'\n';
return 0;
}