Pagini recente » Cod sursa (job #2594933) | Cod sursa (job #177147) | Cod sursa (job #2058482) | Cod sursa (job #2275374) | Cod sursa (job #2319596)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("damesah.in");
ofstream fout ("damesah.out");
int ds[30], dp[30], c[15], v[15], n, ok, sol;
void regine (int k)
{
int i, d;
if(k==n+1)
{
if(ok==0)
{
for(i=1;i<=n;i++)
fout << v[i] << ' ';
fout << '\n';
ok=1;
}
sol++;
}
for(i=1;i<=n;i++)
{
int d=k-i+1;
if(d<=0)
d=n+abs(d)+1;
if(dp[d]==0)
if(c[i]==0&&ds[i+k]==0&&dp[d]==0)
{
c[i]=1;
ds[i+k]=1;
dp[d]=1;
v[k]=i;
regine(k+1);
dp[d]=0;
ds[i+k]=0;
c[i]=0;
}
}
}
int main()
{
fin >> n;
regine(1);
fout << sol;
return 0;
}