Estructura de datos: ¿escribir el algoritmo de esta pregunta en lenguaje c?
#includelt; malloc.hgt;
#includelt; La ubicación de las piezas de ajedrez, tenga en cuenta que el subíndice comienza desde 0
int queen; //El número de piezas de ajedrez
int count=0; posibilidades
//Determinar si la ubicación de la fila n 1 es apropiada
int IsOk(int n)
{
int i ;
p>for(i=0;ilt;n;i)
{
if(sitio[i]==sitio[n])
devuelve 0;
if(abs(sitio[i]-sitio[n])==n-i)
devuelve 0;
} p>
return 1;
}
// Ejecute concretamente el juicio de ubicación y genere el resultado final
void Queen( int n)
{
int i;
if(reina==n)
{
printf("NO.d: ", contar);
for(i=0; ilt; reina; i )
{
printf("d ",sitio[i]) ;
}
printf("\n");
Devolver;
} p>
else
{
for(i=0;ilt;queen;i)
{
sitio[ n]=i;
p>
if(IsOk(n))
Queen(n 1); //tenga en cuenta que el retorno es a la línea anterior del llamada a Queen(int )
//at function
}
}
}
void main ()
{ p>
printf("Ingrese el número de la reina: ");
scanf("d", amp; reina); /p>
sitio=(int *) malloc(queen*sizeof(int));
Reina(0);
}