Pagini recente » Cod sursa (job #1049008) | Cod sursa (job #2937555) | Cod sursa (job #1213933) | Cod sursa (job #1722225) | Cod sursa (job #1423332)
#include <fstream>
using namespace std;
/*ifstream cin("Dame.in");
ofstream cout("Dame.out");*/
ifstream cin("damesah.in");
ofstream cout("damesah.out");
int n,v[20],nr;
void Tipar()
{
int colj=0;
for(int j=1;j<=n;++j)
{
colj=v[j]%n;
if(v[j]%n==0)
colj=n;
cout<<colj<<" ";
}
cout<<'\n';
}
int Valid(int i)
{
int coli=v[i]%n;
int colj=0;
int dif=0;
if(v[i]%n==0)
coli=n;
for(int j=1;j<i;++j)
{
colj=v[j]%n;
if(v[j]%n==0)
colj=n;
if(coli==colj)
return 0;
dif=i-j;
if(coli==colj-dif||coli==colj+dif)
return 0;
}
return 1;
}
void Back(int i)
{
if(i>n)
{
if(nr==0)
Tipar();
nr++;
}
else
for(int j=(i-1)*n+1;j<=i*n;++j)
{
v[i]=j;
if(Valid(i))
Back(i+1);
}
}
int main()
{
cin>>n;
Back(1);
cout<<nr;
return 0;
}