Bienvenido(a), Visitante. Favor de ingresar o registrarse.

Ingresar con nombre de usuario, contraseña y duración de la sesión

Foros del Club

Páginas: [1] 2   Ir Abajo
  Enviar tema  |  Imprimir  
Autor Tema: Desafio 03 "Las Reinas" (Avanzados)  (Leído 2231 veces)
0 Usuarios y 1 Visitante están viendo este tema.
JoRgE-1987
Programador
Legend
**********

Prestigio: 7
Desconectado Desconectado

Sexo: Masculino
Título universitario: No.
Profesión: Programador
Mensajes: 633

Geek


WWW
Lenguajes:
Object Pascal
Pascal
HTML
Aprendiendo C++
« en: 17/02/2006, 00:22:53 »

En un tablero de ajedrez, la reina puede atacar a cualquier tipo de pieza que este en la misma fila, columna o diagonal que la misma.
El problema es que se deven posicionar "n" reinas, todas de distintos bandos, en un tablero de hasta "n" x hasta "n" casilleros, de modo que ninguna de las reinas, pueda llegar a atacar a otra reina.
El problema se deve solucionar, de modo tal, que se le pueda ingresar cualquier numero a "n", y el programa resuelva el acertijo.

Ayuda: Leer bien el texto, detalladamente, ya que en el se encuentran trampas escondidas, pero validas.


Saludos Cheesy:D

PD. Estoy casi seguro de que este les va a gustar.

PD2: Un chistin, pa calentar la cabeza:
"Hay solo 10 tipos de personas... , las que saben binario y las que no"
« Última modificación: 13/03/2006, 18:20:14 por JoRgE-1987 » En línea


Ladri
Savant
*******

Prestigio: 4
Desconectado Desconectado

Sexo: Masculino
Mensajes: 43


Visual Basic 6 y .NET (principiante) / Pascal


« Respuesta #1 en: 20/02/2006, 13:20:16 »

Lo lei y lo re-lei 100 veces y no le encuentro la respuesta..... estas seguro de que lo escribiste bien?? en el caso de que si.. podes tirar alguna pista mas?? parece que no soy el unico que no le encontro solucion!

saludosss
---------> Ladri
En línea
JoRgE-1987
Programador
Legend
**********

Prestigio: 7
Desconectado Desconectado

Sexo: Masculino
Título universitario: No.
Profesión: Programador
Mensajes: 633

Geek


WWW
Lenguajes:
Object Pascal
Pascal
HTML
Aprendiendo C++
« Respuesta #2 en: 21/02/2006, 01:28:21 »

La unica pista que te puedo dar, es que en la forma en la que esta redactado hay una trampa, que no te deja ver la solucion real, pero decime que llegaste a hacer, o cual es tu problema, que te tiro pistas para que busques la respuesta por vos mismo.

Saludos Cheesy:D
En línea


santiago89
Wizard
****

Prestigio: 0
Desconectado Desconectado

Mensajes: 9

Forista


« Respuesta #3 en: 21/02/2006, 05:09:18 »

Citar
Publicado por: JoRgE-1987
El problema es que se deven posicionar "n" reinas, todas de distintos bandos, en un tablero de "n" x "n" casilleros, de modo que ninguna de las reinas, pueda llegar a atacar a otra reina.

Me parece que en ese trozo del enunciado hay bastantes datos para la resolucion(por favor si no es asi corregime antes de comenzar nada).

Lamentablemente en este momento no dispongo de tiempo como para intentar resolverlo(al menos c o c++, porque tengo poca idea de pascal desgraciadamente)
En línea
CID
Administrador
Legend
*****

Prestigio: 22
Desconectado Desconectado

Sexo: Masculino
Estudiante de: Arte de la informática
Título universitario: Programador
Profesión: Desarrollador
Mensajes: 1136



WWW
Lenguajes:
Varios
Bases de datos:
Varios
« Respuesta #4 en: 21/02/2006, 14:07:28 »

No se me ocurre como...

Si N = 4, solo logro colocar 3 reinas que no coman a las demas


1 _ _ _
_ _ 3 _
_ _ _ _
_ 2 _ _

Pero si coloco N = 5, ahi si lo consigo.


1 _ _ _ _
_ _ 3 _ _
_ _ _ _ 5
_ 2 _ _ _
_ _ _ 4 _

Por lo que pregunto:

Existen más restricciones??
N debe ser impar?
N debe ser mayor a tal número?

Saludos!
En línea

JoRgE-1987
Programador
Legend
**********

Prestigio: 7
Desconectado Desconectado

Sexo: Masculino
Título universitario: No.
Profesión: Programador
Mensajes: 633

Geek


WWW
Lenguajes:
Object Pascal
Pascal
HTML
Aprendiendo C++
« Respuesta #5 en: 22/02/2006, 01:59:29 »

Esta mal, la respuesta, tiene que funcionar con todos los numeros de N, ya sea 2, 5, 8, 100, o 200.

Saludos Cheesy:D

PD: Hay algo que estas haciendo mal.
En línea


Ladri
Savant
*******

Prestigio: 4
Desconectado Desconectado

Sexo: Masculino
Mensajes: 43


Visual Basic 6 y .NET (principiante) / Pascal


« Respuesta #6 en: 23/02/2006, 17:29:11 »

Si yo habia llegado a la conclusion de CID con cualquier numeros mayores a 5 se puede pero que pasa si pones un 2 o un 3 o etc.......Huh??? ahi esta mi duda.. para mi que no descubri la trampa oculta en el enunciado.. por eso te preguntaba si lo habias escrito bien.. jaaj.. bueno.. voy a seguir desnucandome.. si llego a sacar algo aviso..

LaDri....
En línea
JoRgE-1987
Programador
Legend
**********

Prestigio: 7
Desconectado Desconectado

Sexo: Masculino
Título universitario: No.
Profesión: Programador
Mensajes: 633

Geek


WWW
Lenguajes:
Object Pascal
Pascal
HTML
Aprendiendo C++
« Respuesta #7 en: 24/02/2006, 01:19:53 »

Che, Avisen cuando quieran que revele la trampa.

Saludos Cheesy:D

¿Realmente creen que "n" vale lo que ustedes creen?

PD: cuando descubran la trampa, o cuando yo se las diga, o me echan del foro, o me putean hasta que me muera. Lengua
En línea


JoRgE-1987
Programador
Legend
**********

Prestigio: 7
Desconectado Desconectado

Sexo: Masculino
Título universitario: No.
Profesión: Programador
Mensajes: 633

Geek


WWW
Lenguajes:
Object Pascal
Pascal
HTML
Aprendiendo C++
« Respuesta #8 en: 13/03/2006, 18:24:43 »

Bueno, ya estoy preparado, para que me peguen, etc..

El tema, es que cuando hablamos de n, hablamos de por ejemplo "9", entonses serian "9" Reinas, y cuando hablamos de un tablero de "n" x "n", todo masl programador, o todo programador despistado, u malacostumbrado, comenzara su conteo de casilleros, desde 1 hasta "n", cosa que esta mal, porque todos sabemos, que se comienza un conteo desde 0, por ejemplo array [0..99] of Integer; Es un array, o un arreglo de 100 posiciones.

Bueno, entonses el truco era contar desde 0 hasta "n", donde si "n" es 9, el tablero seria de:

0  1  2  3  4  5  6  7  8  9
1
2
3
4
5
6
7
8
9

Con lo que se gana la posicion que a todos les faltaba.

Saludos CheesyCheesy
En línea


CID
Administrador
Legend
*****

Prestigio: 22
Desconectado Desconectado

Sexo: Masculino
Estudiante de: Arte de la informática
Título universitario: Programador
Profesión: Desarrollador
Mensajes: 1136



WWW
Lenguajes:
Varios
Bases de datos:
Varios
« Respuesta #9 en: 13/03/2006, 20:33:29 »

Vengo de C++ asi que a los arrays los uso como [0..n-1] y sin embargo no supe responder. Porque?
PORQUE ESTÁ MAL FORMULADO.

El tema, es que cuando hablamos de n, hablamos de por ejemplo "9", entonses serian "9" Reinas, y cuando hablamos de un tablero de "n" x "n", todo masl programador, o todo programador despistado, u malacostumbrado, comenzara su conteo de casilleros, desde 1 hasta "n", cosa que esta mal, porque todos sabemos, que se comienza un conteo desde 0, por ejemplo array [0..99] of Integer; Es un array, o un arreglo de 100 posiciones.

Cabe aclarar que los arrays [0..n-1] y [1..n] son iguales, los dos tienen n posiciones. La gran diferencia está en que la cantidad de reinas que debemos tener no es n, sino n-1, por lo que de esa manera funcionan los algoritmos que expusimos. Por eso considero que no es un problema de mala programación, sino de mal planteo del problema. Tramposo digamos.
Por ejemplo jorge, vos ahi decis:

El tema, es que cuando hablamos de n, hablamos de por ejemplo "9"

Seria [1..9] o [0..8], ningún programador experimentado tomaria [0..9], por el simple motivo que ahi n ya no es 9, sino 10.

Saludos!
En línea

Foros del Club
   

 En línea
Páginas: [1] 2   Ir Arriba
  Enviar tema  |  Imprimir  
 
Ir a: