Pagini recente » Cod sursa (job #1073633) | Cod sursa (job #2097312) | Cod sursa (job #2743748) | Cod sursa (job #104728) | Cod sursa (job #3219033)
#include <fstream>
#include <cmath>
using namespace std;
ifstream cin("damesah.in");
ofstream cout("damesah.out");
int n,x[15],sol;
bool c[15],ok;
bool verif(int l,int c,int n){
for(int i=1;i<=n;i++)
if(abs(i-l)==abs(x[i]-c))
return 0;
return 1;
}
void dame(int pas){
if(pas==n+1){
if(ok){
ok=0;
for(int i=1;i<=n;i++)
cout<<x[i]<<" ";
cout<<'\n';
}
sol++;
}else{
for(int j=1;j<=n;j++)
if(!c[j]&&verif(pas,j,pas-1)){
c[j]=1;
x[pas]=j;
dame(pas+1);
c[j]=0;
}
}
}
int main()
{
cin>>n;
ok=1;
dame(1);
cout<<sol;
return 0;
}