Pagini recente » Cod sursa (job #2878990) | Cod sursa (job #33650) | Cod sursa (job #786752) | Cod sursa (job #2915854) | Cod sursa (job #2379666)
#include<iostream>
#include<fstream>
using namespace std;
ifstream in("damesah.in");
ofstream out("damesah.out");
int perm[15];
int n,s=0;
bool col[15];
bool d1[40];
bool d2[40];
void back(int lv)
{
if(lv>n)
{
s++;
if(s==1)
{
for(int i=1;i<lv;i++)
out<<perm[i]<<" ";
out<<'\n';
}
return;
}
for(int i=1;i<=n;i++)
{
if(!col[i]&&!d1[lv-i+n]&&!d2[i+lv])
{
col[i]=1;
d1[lv-i+n]=1;
d2[i+lv]=1;
perm[lv]=i;
back(lv+1);
col[i]=0;
d1[lv-i+n]=0;
d2[i+lv]=0;
}
}
}
int main()
{
in>>n;
back(1);
out<<s;
in.close();
out.close();
return 0;
}