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
1.- podria ser un algoritmo recursivo 2.- con un bidimensional para resolver el tablero basta 3.- con las pistas de arriba podrias hacerlo .
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.