Pagini recente » Cod sursa (job #1764445) | Cod sursa (job #2078570) | Cod sursa (job #2956262) | Cod sursa (job #248729) | Cod sursa (job #1148829)
#include <fstream>
using namespace std;
ifstream fin ("damesah.in");
ofstream fout ("damesah.out");
int sol,c[20],d1[50],d2[50],n,v[20];
void back (int k) {
if (k>n) {
if (sol<1) {
for (int i=1;i<=n;i++)
fout<<v[i]<<" ";
fout<<"\n";
}
sol++;
return ;
}
for (int i=1;i<=n;i++) {
if (c[i]==0 && d1[i-k+n]==0 && d2[2*n-k-i+1]==0){
c[i]=d1[i-k+n]=d2[2*n-k-i+1]=1;
v[k]=i;
back(k+1);
c[i]=d1[i-k+n]=d2[2*n-k-i+1]=0;
}
}
}
int main () {
fin>>n;
back(1);
fout<<sol<<"\n";
return 0;
}