Pagini recente » Cod sursa (job #2309426) | Cod sursa (job #2649675) | Cod sursa (job #2777707) | Cod sursa (job #2497720) | Cod sursa (job #1424521)
#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,mij;
void Tipar()
{
for(int j=1;j<=n;++j)
cout<<v[j]<<" ";
cout<<'\n';
}
int Valid(int i)
{
int dif=0;
for(int j=1;j<i;++j)
{
if(v[i]==v[j])
return 0;
dif=i-j;
if(v[i]==v[j]-dif||v[i]==v[j]+dif)
return 0;
}
return 1;
}
void Back(int i)
{
if(v[1]>mij)
{
nr*=2;
return;
}
else
{
if(i>n)
{
if(nr==0)
Tipar();
nr++;
}
else
for(int j=1;j<=n;++j)
{
v[i]=j;
if(Valid(i))
Back(i+1);
}
}
}
int main()
{
cin>>n;
mij=n/2;
if(n%2==1)
++mij;
Back(1);
cout<<nr;
return 0;
}