Pagini recente » Cod sursa (job #1847718) | Cod sursa (job #2601714) | Cod sursa (job #1668631) | Cod sursa (job #186856) | Cod sursa (job #2393746)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int v[20],ok=0,n,pos;
void afis() {
for (int i=1;i<=n;i++) {
g << v[i]<<" ";
}
}
bool verif (int k , int i ) {
for (int j=1;j<k;j++) {
if (v[j]==i || (abs(v[j]-i)==abs(j-k))){
return 0;
}
}
return 1;
}
void bkt(int k) {
for (int i=1;i<=n;i++) {
if (verif(k,i)==1) {
v[k]=i;
if (k!=n) {
bkt(k+1);
}
else {
if (ok==0) {
afis();
ok=1;
}
pos++;
}
}
}
}
int main()
{
f >> n;
bkt(1);
g << '\n'<<pos;
return 0;
}