Pagini recente » Cod sursa (job #2440664) | Cod sursa (job #2481034) | Cod sursa (job #1281746) | Cod sursa (job #153570) | Cod sursa (job #1174536)
#include<fstream>
#include<cmath>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int x[30],n,i,p,con;
int valid(int k)
{
int i;
for(i=1;i<k;i++)
if(x[i]==x[k]||fabs(x[i]-x[k])==fabs(k-i))
return 0;
return 1;
}
void back(int k)
{
int i;
if(k==n+1)
{
con++;
if(con==1)
{
for(i=1;i<=n;i++)
g<<x[i]<<" ";
g<<"\n";
}
}
else
for(i=1;i<=n;i++)
{
x[k]=i;
if(valid(k))
back(k+1);
}
}
int main()
{
f>>n;
/* i=1;
do
{
do
{
x[i]++;
if(x[i]>n)
{
x[i]=0;
i--;
}
else
if(valid(i))
i++;
}while(i<=p&&i>0);
if(i>p)
{
for(i=1;i<=p;i++)
g<<x[i]<<" ";
i=p;
g<<"\n";
}
}while(i>0);
*/
back(1);
g<<con;
return 0;
}