Pagini recente » Cod sursa (job #2876727) | Cod sursa (job #853421) | Cod sursa (job #3256728) | Cod sursa (job #1613949) | Cod sursa (job #3249770)
#include <fstream>
using namespace std;
ifstream cin ("damesah.in");
ofstream cout ("damesah.out");
#define N 13
int v[N+1], f[N+1], fdp[2*N+1], fds[2*N+1];
int p;
void aranjamente(int n, int pos){
int i;
if (pos==n+1){
p++;
if (p==1){
for (i=1; i<=n; i++)
cout << v[i] << ' ';
cout << '\n';
}
}
for (i=1; i<=n; i++)
if (f[i]==0 &&fdp[i+pos]==0 && fds[n-i+pos]==0){
v[pos]=i;
f[i]=fdp[i+pos]=fds[n-i+pos]=1;
aranjamente(n, pos+1);
f[i]=fdp[i+pos]=fds[n-i+pos]=0;
}
}
int main()
{
int n;
cin >> n;
aranjamente(n, 1);
cout << p << '\n';
return 0;
}