Pagini recente » Cod sursa (job #48574) | Cod sursa (job #271561) | Cod sursa (job #3135222) | Cod sursa (job #3002174) | Cod sursa (job #2538622)
#include <bits/stdc++.h>
using namespace std;
ifstream ci("damesah.in");
ofstream cou("damesah.out");
int n,sol[20],f[20];
int p=1,cn;
void rez(){
int i,j,x,y,z,veri=1;
for(i=1;i<=n;i++){
y=sol[i];
for(j=1;j<=n;j++){
if(i!=j){
z=sol[j];
if(abs(i-j)==abs(y-z) ){veri=0;}
//cout<<i<<" "<<j<<" "<<y<<" "<<z<<" "<<veri<<"\n";
}
}
}
if(p&&veri){
p=0;
for(i=1;i<=n;i++){
cou<<sol[i]<<" ";
}
cou<<"\n";
}
if( veri){cn++;
for(i=1;i<=n;i++){
cout<<sol[i]<<" ";
}
cout<<"\n";
}
}
void Back(int k){
if(k==n+1){
rez();
}else{
for(int i=1;i<=n;i++){
while(f[i]==1 ){
i++;
}
if(i>n){return;}
sol[k]=i;
f[i]=1;
Back(k+1);
f[i]=0;
}
}
}
int main()
{
ci>>n;
Back(1);
cou<<cn;
return 0;
}