Pagini recente » Cod sursa (job #1599637) | Cod sursa (job #133919) | Cod sursa (job #259925) | Cod sursa (job #1547971) | Cod sursa (job #2158012)
#include<fstream>
#include<cmath>
using namespace std;
ifstream in("damesah.in");
ofstream out("damesah.out");
int n,s[14],sol;
void afis(){
int i,j;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
if(s[i]==j)
out<<j<<" ";
}
sol++;
out<<'\n';
}
bool verif(int i,int j){
int k;
for(k=1;k<i;k++)
if(s[k]==j)
return false;
for(k=1;k<i;k++)
if(abs(s[k]-j)==i-k)
return false;
return true;
}
void dame(int i){
if(i>n)
if(sol==0)
afis();
else
sol++;
else
for(int j=1;j<=n;j++)
if(verif(i,j)){
s[i]=j;
dame(i+1);
}
}
int main(){
in>>n;
dame(1);
out<<sol;
return 0;
}