Pagini recente » Cod sursa (job #531279) | Cod sursa (job #1780145) | Cod sursa (job #1246768) | Cod sursa (job #975044) | Cod sursa (job #1539444)
#include <fstream>
#include <cmath>
#include <algorithm>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int x[20];
int n,nr;
void afisare()
{
int i;
if(nr==1)
{for(i=1;i<=n;i++)
g<<x[i]<<" ";
g<<'\n';}
}
int verif(int i)
{
int j;
for(j=1;j<=(i-1);j++)
{
if(x[j]==x[i] or abs(x[j]-x[i])==i-j or x[i-j]==x[i] or abs(x[i-j]-x[i])==j)
return 0;
}
return 1;
}
int main()
{
int i;
f>>n;
i=1;
while(i>0)
{
x[i]++;
if(x[i]>n)
{
x[i]=0;
i--;
}
else
if(verif(i)==1)
if(i==n) {nr+=1;afisare();}
else
{
i++;
}
}
g<<nr;
f.close();
g.close();
return 0;
}