Pagini recente » Cod sursa (job #2503884) | Cod sursa (job #2576741) | Cod sursa (job #2404381) | Cod sursa (job #100289) | Cod sursa (job #1213242)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fi("damesah.in");
ofstream fo("damesah.out");
int n,s[14],v[14];
int k=0;
void back(int p)
{
if (p>n)
{
int ok=1;
for (int i=1;i<n && ok;++i)
if ((s[i]>=s[i+1]-1 && s[i]<s[i+1]) || (s[i]<=s[i+1]+1 && s[i]>s[i+1]))
ok=0;
if (ok)
{
k=1;
for (int i=1;i<=n;++i)
fo<<s[i]<<" ";
fo.close();
}
return;
}
for (int i=1;i<=n;++i)
if (v[i])
{
--v[i];
s[p]=i;
back(p+1);
++v[i];
if (k)
return;
}
}
int main()
{
fi>>n;
for (int i=1;i<=n;++i)
v[i]=1;
s[0]=0;
back(1);
}