[Ayuda] Estructura de datos

Discussion in 'Programación & Programación Web' started by xHirose, Jun 21, 2014.

  1. xHirose

    xHirose Usuario Nuevo nvl. 1
    187/244

    Joined:
    Jun 21, 2014
    Messages:
    2
    Likes Received:
    0
    Un amigo suyo aficionado al ajedrez, en medio de una partida especialmente trabada, le
    cuenta una inquietud que él tiene hace mucho tiempo con este juego y que nadie ha podido
    responderle todavía. Se trata de cómo colocar ocho piezas iguales (8 reinas en este caso)
    sobre el tablero, de tal forma que ninguna pueda comerse a otra”.
    Sabiendo que en este juego, una reina amenaza a cualquier otra pieza que esté en la misma
    columna, fila o cualquiera de las cuatro diagonales, el problema es obviamente la forma en
    que dichas piezas deben estar distribuidas sobre el tablero en un primer momento.

    1. ¿Con qué tipo de algoritmo estamos tratando al intentar resolver este problema?
    ¿Por qué?

    2. ¿Con cuántos “arreglos” de datos deberíamos trabajar para resolverlo?

    3. Implemente un procedimiento general en pseudocódigo para resolver el problema
    planteado.

    gracias por leer :)
     
  2. ycsm

    ycsm Usuario Casual nvl. 2
    87/163

    Joined:
    Apr 2, 2010
    Messages:
    8,598
    Likes Received:
    5
    1.- podria ser un algoritmo recursivo

    2.- con un bidimensional para resolver el tablero basta

    3.- con las pistas de arriba podrias hacerlo .
     
  3. El Fin

    El Fin Usuario Habitual nvl.3 ★
    187/244

    Joined:
    Oct 2, 2009
    Messages:
    16,562
    Likes Received:
    16
    A mi lo único que se me ocurriría hacer es usar combinatoria basada en lo siguiente:

    1.- Generar una matriz que representa al tablero.
    2.- Posicionar la dama en una posicion (ej A1)
    3.- Marcar todas las casillas a la que la dama puede saltar
    4.- Con las casillas que sigan vigentes, generar un subarreglo.
    5.- Sobre ese subarreglo, repetir desde el 2.
    6.- Repetir 5 ocho veces.
    7.- Para cada vez que no queden espacios disponibles para posicionar la dama, se debe avanzar en 1 la combinacion (ej: A1, B1, C1, etc
    8.- Si se logra posicionar las 8 damas siguiendo las codiciones anteriores, se ha encontrado una posición que sirve.

    Saludos.