Pagini recente » Cod sursa (job #1820558) | Cod sursa (job #471865) | Cod sursa (job #68590) | Cod sursa (job #1820403) | Cod sursa (job #2162935)
#include <fstream>
using namespace std;
ifstream fin ("damesah.in");
ofstream fout ("damesah.out");
int n, m, sol, v[13];
bool c[13], d1[25], d2[25];
void bt ( int i )
{
if ( i == n )
{
if ( !sol )
for ( int j = 0; j < n; ++j )
fout << v[j] + 1 << " ";
++sol;
}
int j, t1, t2;
for ( j = 0; j < n; ++j )
if ( !c[j] )
{
t1 = i + j;
if ( !d1[t1] )
{
t2 = i + m - j;
if ( !d2[t2] )
{
c[j] = d1[t1] = d2[t2] = 1;
v[i] = j;
bt ( i + 1 );
c[j] = d1[t1] = d2[t2] = 0;
}
}
}
}
int main()
{
fin >> n;
m = n - 1;
bt(0);
fout << '\n' << sol;
}