Pagini recente » Cod sursa (job #2921949) | Cod sursa (job #1441736) | Cod sursa (job #2519844) | Cod sursa (job #1913044) | Cod sursa (job #2015818)
#include <cstdio>
using namespace std;
int s[40],n,nrt=0;
void Afis()
{
for(int i=1;i<=n;i++)
{
printf("%i ",s[i]);
}
printf("\n");
}
bool Valid(int k)
{
for(int i=1;i<=k-1;i++)
{
if(s[k] == s[i] || s[k] - s[i] == k-i || s[i] - s[k] == k-i)
return false;
}
return true;
}
void Back(int k)
{
for(int i=1;i<=n;i++)
{
s[k] = i;
if(Valid(k))
{
if(k == n)
{
nrt++;
if(nrt < 2)
Afis();
}
else
Back(k+1);
}
}
}
int main()
{
freopen("damesah.in","r",stdin);
freopen("damesah.out","w",stdout);
scanf("%i",&n);
Back(1);
printf("%i",nrt);
return 0;
}