Pagini recente » Cod sursa (job #1189521) | Cod sursa (job #1415382) | Cod sursa (job #1555663) | Cod sursa (job #468476) | Cod sursa (job #1510213)
#include <fstream>
#include <cstdlib>
using namespace std;
ifstream cin("damesah.in");
ofstream cout("damesah.out");
int n,i,st[16],j,as,ev,k;
void init(){
st[k]=0;
}
bool succesor(){
if(st[k]<n){
st[k]++;
return 1;
}
return 0;
}
bool valid(){
for(i=1;i<k;i++)
if(st[k]==st[i]||abs(st[k]-st[i])==abs(k-i))
return 0;
return 1;
}
bool solutie(){
if(k==n)
return 1;
return 0;
}
void tipar(){
for(i=1;i<=n;i++)
cout<<st[i]<<' ';
cout<<'\n';
}
int main()
{
cin>>n;
int contor=0;
k=1;
init();
bool ok=1;
while(k){
do{
as=succesor();
if(as)
ev=valid();
}while(!(as&&ev||!as));
if(as)
if(solutie()){
contor++;
if(ok!=0){
tipar();
ok=0;
}
}
else{
k++;
init();
}
else k--;
}
cout<<contor<<' ';
return 0;
}