Pagini recente » Cod sursa (job #2279110) | Cod sursa (job #216766) | Cod sursa (job #3038760) | Cod sursa (job #2201159) | Cod sursa (job #3226225)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin ("damesah.in");
ofstream fout ("damesah.out");
ll st[15], n, cnt=0;
bool freq[15];
bool valid (ll k)
{
for (ll i=1; i<k; i++) {
//if (st[i]==st[k]) return false;
ll ii=i, ij=n-st[i]+1;
ll ki=k, kj=n-st[k]+1;
if (abs(ii-ki)==abs(ij-kj)) return false;
}
return true;
}
void back(ll k)
{
for (ll i=1; i<=n; i++) {
if (freq[i]) continue;
st[k]=i;
freq[i]=true;
if (valid(k)) {
if (k==n) {
if (cnt==0) {
for (ll j=1; j<=n; j++) {
fout<<st[j]<<' ';
}
fout<<'\n';
}
cnt++;
}
else {
back(k+1);
}
}
freq[i]=false;
}
}
int main()
{
fin.tie(0); fin.sync_with_stdio(false);
fin>>n;
back(1);
fout<<cnt;
return 0;
}