Pagini recente » Cod sursa (job #207535) | Cod sursa (job #2888294) | Cod sursa (job #1942234) | Cod sursa (job #1427606) | Cod sursa (job #2791028)
#include <fstream>
using namespace std;
ifstream fin ( "damesah.in" );
ofstream fout ( "damesah.out" );
const int N = 14;
int sol [ N ], c [ N ], l [ N ], d1 [ 2 * N ], d2 [ 2 * N ];
int cnt = 0;
void dame( int i, int n ) {
if ( i == n ) {
if ( cnt == 0 ){
for ( int j = 0; j < n; j++ )
fout << sol [ j ] + 1 << " ";
}
cnt++;
return;
}
for ( int j = 0; j < n; j++ )
if ( c [ j ] == 0 && d1 [ i + n - j - 1 ] == 0 && d2 [ i + j ] == 0 ) {
l [ i ] = 1;
c [ j ] = 1;
d1 [ i + n - j - 1 ] = 1;
d2 [ i + j ] = 1;
sol [ i ] = j;
dame( i + 1, n );
l [ i ] = 0;
c [ j ] = 0;
d1 [ i + n - j - 1 ] = 0;
d2 [ i + j ] = 0;
sol [ i ] = 0;
}
}
int main() {
int n;
fin >> n;
dame ( 0, n );
fout << "\n" << cnt;
return 0;
}