Pagini recente » Cod sursa (job #1700320) | Cod sursa (job #2224989) | Cod sursa (job #2007324) | Cod sursa (job #722852) | Cod sursa (job #1730882)
#include <fstream>
#include <cmath>
using namespace std ;
ifstream f ("damesah.in") ;
ofstream g ("damesah.out") ;
int n , nr_sol , x[15] ;
void afis ()
{
++nr_sol ;
if ( nr_sol == 1 )
{
for ( int j = 1 ; j <= n ; ++j )
g << x[j] << " " ;
g << "\n" ;
}
}
int ok ( int i , int j )
{
x[i] = j ;
for ( int cnt = 1 ; cnt < i ; ++cnt )
if ( x[i] == x[cnt] || ( fabs ( x[i] - x[cnt] ) == i - cnt ) )
return 0 ;
}
void back ( int k )
{
if ( k == n + 1 )
afis () ;
else if ( k <= n )
{
for ( int j = 1 ; j <= n ; ++j )
if ( ok ( k , j ) )
{
x[k] = j ;
back ( k + 1 ) ;
x[k] = 0 ;
}
}
}
int main ()
{
f >> n ;
back ( 1 ) ;
g << nr_sol ;
}