Foros del Web » Programación para mayores de 30 ;) » Programación General »

El problema de las N reinas

Estas en el tema de El problema de las N reinas en el foro de Programación General en Foros del Web. Hola amigos, no se si alguno se acordara de mi, ya que hace mucho que no pude seguir participando de esto, por un par de ...
  #1 (permalink)  
Antiguo 28/10/2006, 10:11
 
Fecha de Ingreso: junio-2004
Mensajes: 124
Antigüedad: 20 años, 5 meses
Puntos: 2
El problema de las N reinas

Hola amigos, no se si alguno se acordara de mi, ya que hace mucho que no pude seguir participando de esto, por un par de problemitas...
pero bueno, tengo que hacer un proyecto para un final de la facu, laboratorio de programacion, y una de las cosas que quiero que entre en el proyecto, es este algoritmo de las N reinas... mi problema es que entiendo el funcionamiento, pero no logro encontrar la forma de resolverlo...
Es muy facil?? lei por ahi que hay que lo que habria que hacer es aplicar recursividad (tema que todavia no vimos en la facu pero algunas funciones las puedo programar), alguno tiene alguna opinion al respecto?¿
El entorno de desarrollo es delphi, y la idea es usar una matrriz de N x N Timages, para hacerlo interactivo con el usuario, y que las imagnes de las damas las arrastre con el mouse... gracias por el tiempo y espero sus respuestas
__________________
GONZALO GOMEZ Argentina
  #2 (permalink)  
Antiguo 29/10/2006, 10:16
 
Fecha de Ingreso: junio-2004
Mensajes: 124
Antigüedad: 20 años, 5 meses
Puntos: 2
Yo de nuevo

vuelvo a postear por que no me exprese muy bien arriba.... el juego o el problema consiste en colocar en un tablero de nxn, n reinas sin que se amenazen respetando las posiciones del ajedrez... si nadie posteo una repsuesta por que noentiende el concepto del problema que me pregunte, por que por ahi no estoy siendo muy explicito... un abrazo
__________________
GONZALO GOMEZ Argentina
  #3 (permalink)  
Antiguo 08/11/2006, 13:07
Avatar de landa02  
Fecha de Ingreso: junio-2006
Ubicación: Xalapa, Veracruz, México
Mensajes: 42
Antigüedad: 18 años, 5 meses
Puntos: 0
El problema de las n reinas consiste en disponer n reinas en un tablero de ajedrez de forma que no se ataquen entre sí.

Si se representan las reinas mediante una lista que indica la altura de cada reina, la siguiente función chequea que las reinas no se atacan entre sí:

> noSeAtacan [] = success
> noSeAtacan (y:ys) = noAtaca (1,y) ys & noSeAtacan ys

> noAtaca (x,y) [] = success
> noAtaca (x,y) (y':ys) = y =/= y'
> & abs (y' - y) =/= x
> & noAtaca (x+1,y) ys

> abs x | x < 0 = -x
> | otherwise = x

Definir una función nReinas :: Int -> [Int] que genere una lista con las posiciones que deben tomar n reinas en un tablero de ajedrez sin que se ataquen entre sí.

?-nReinas 8
[5,2,6,1,7,4,8,3]

este algoritmo está en internet anexo la página suerte.
http://www.di.uniovi.es/~labra/PDec/.../ListasND.html
__________________
Lo mejor es vivir la vida minuto a minuto
  #4 (permalink)  
Antiguo 08/11/2006, 13:21
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 7 meses
Puntos: 47
Yo lo tengo en java... si alguien lo quiere. Hace mucho que lo hice
  #5 (permalink)  
Antiguo 08/11/2006, 16:32
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 21 años
Puntos: 7
no estoy seguro si estamos hablando del mismo problema....... pero si es asi, yo lo tengo en c++ ..... jeje

saludos,
  #6 (permalink)  
Antiguo 09/11/2006, 09:33
 
Fecha de Ingreso: junio-2004
Mensajes: 124
Antigüedad: 20 años, 5 meses
Puntos: 2
Bueno gente, gracias por las paginas y los codigos...estuve revisando los primeros dias y nadie pudo contestar... asi que me dedcidi a hacerlo yo... me costo bastante para que negarlo, y dudo que e lcodigo haya quedado limpio... estoy seguiroq que se puede hacer de otra forma mas facil... ahh les comento , todavia no se nada de java, y el practico este para el final de lab de programacion era en delphi si o si... un saludo
__________________
GONZALO GOMEZ Argentina
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:11.