Pagini recente » Cod sursa (job #635964) | Cod sursa (job #897612) | Istoria paginii runda/igorj | Cod sursa (job #1002309) | Cod sursa (job #2011967)
#include <fstream>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int mat[13][13],n,sol[13],var;
bool vizc[13],vizdp[13],vizds[13];
void bacc(int k)
{
if(k==n)
{
if(var==0)
{
for(int i=0; i<n; i++)
g<<sol[i]+1<<' ';
g<<'\n';
}
var++;
return;
}
for(int v=0; v<n; v++)
if(!vizc[v]&&!vizdp[k-v+n]&&!vizds[k+v]&&k!=v)
{
sol[k]=v;
vizc[v]=1;
vizdp[k-v+n]=1;
vizds[k+v]=1;
bacc(k+1);
vizc[v]=0;
vizdp[k-v+n]=0;
vizds[k+v]=0;
}
}
int main()
{
f>>n;
bacc(0);
g<<var;
return 0;
}