sábado, 5 de mayo de 2007

Cruzando el paralalepípedo (* * * * *)

Últimamente me resolvéis los enigmas 5 estrellas en menos de un día, y no da tiempo a que se genere "bote" (puedes leer cómo funciona este blog aquí).

Para mi, son muy buenas noticias. Así que para vuestro disfrute, ... voy a emprezar a poner retos 5 estrellas de un nivel superior. Ahí os va ...

Un paralelepípedo de dimensiones 150 x 324 x 375 se construye pegando cubitos de 1 x 1 x 1. Una diagonal interior del sólido pasa a través del interior. ¿Cúantos cubitos atraviesa la diagonal?

Notad que se pide contar sólo los cubitos a través de cuyo interior pasa la diagonal, aquellos que sólo son tocados en una arista o un vértice no cuentan. Por difícil que parezca, hay una lógica que permite saber cuántos cubos se atravesarán sin tener que "pintar mentalmente" la solución... ¡pensad en divisiores y divisibles!

¡Mil felicidades a AGUSTÍN, que ha resuelto el juego de ingenio que más ha durado sin resolver! Puedes ver la solución en los comentarios.

20 comentarios:

Bernat Agullo dijo...

ei --
jo m'he estat una estona partint la crisma i encara no ho tinc massa clar, pero jo voto per 699 cubs

Jaume dijo...

Són uns quants més ...

Como pista os diré que la resposta está entre 750 y 800 ...

PD: No vale dejar 50 comentarios para ganar el premio ;)

AAaaaa dijo...

Genial, buen blog. Pero a lo que vamos, supongo que la respuesta debe ser razonada para ser valida, verdad? no vale decir un numero al azar.

Anónimo dijo...

762!! el resultado es 762 cubitos en la diagonal tinerna :D!!!!

dejame un comentario en mi blog o mandame un mail a gus_07vz@hotmail.com

salu2!!!!.

plis contactame!.

Jaume dijo...

Muchas felicidades señor !!!

El resultado es 762 clavados... Pero creo que, como es el bote más grande de la web, ... voy a necesitar que me escribas el razonamiento ;)

Por cierto, no olvideis de hacer click en la publicidad para ir "haciendo bote" ...

Jaume dijo...

Creo que Agustín ha pescado el resultado de Google, porque me pone la fórmula con el resultado, pero no sabe describir la lógica ...

... el reto sigue abierto ;)

Anónimo dijo...

no sabia que lo que querias era un razonamiento, estaba emocionado pq gane asi que no te entendi bien, habisame por mail la proxima asi evito estos errores. Mas o menos lo pense asi: las dimenciones 150;324;375 sirven para definir cuantos cubos atraviesa la diagonal
en su viaje del punto a al punto b, en un viaje recto y ascendente.
Viendo modelos en un rectangulo (probe con uno de 7;12) se denota que durante el camino de la
diagonal, no siempre se pasa por un cubo a la vez, sino que al pasar por las aristas el impacto
involucra no solo a uno, sino a dos cubos. En un modelo tridimencional la diagonal no solo puede pasar
por las aristas, sino por los vertices, involucrando no solo a dos, sino a tres cubos.
Calcule el mcd es el factor que marca esa suma de cubos en las aristas, por lo que se resta.


CORRIGO MI ERROR EN EL ANTERIOR RESULTADO

la historia es asi, luego de darme cuenta que gane, le conte de mi fortunio (la primera vez que gano
algo en la vida. EN LA VIDA!) a la profesora de matematica
aplicada, ella me dijo que si bien hise algo bien falle en la ultima operacion, en la cual no corresponde
un simbolo de sustraccion, sino da adicion asi que esto cambia el resultado a 768 XD. Esto es porque sino
estaria restando por segunda vez los cuandrados de mas en los vertises.

Espero que mas o menos se entienda, soy duro para explicar estas cosas :P. Habia intentado entrar a mensa una vez, y de estos problemas abundan. Lamentablemente pague el derecho de examen y no entre :(
Mejor suerte para la proxima.
Comunicame caulquier cosa y haber si me explico mejor.

Salu2 Agus!.

Bernat Agullo dijo...

yo aun no lo he pillado...
el mcd de q?

Jaume dijo...

A ver si lo puedo explicar ...

Supongamos el caso en 2 dimensiones de 7 x 5 cuadrados. La línea diagonal tendrá que avanzar 7 cuadrados "en horizontal" y 5 cuadrados "en vertical". Por tanto, pasará por 12 cuadrados.

Suponamos ahora el caso de 8 x 6 cuadrados. La línea tendrá que avanzar también 8 cuadrados "en horizontal" y 6 cuadrados "en vertical". Pero en este caso, la línea pasa (dos veces) por el "ángulo" de un cuadrado. Es decir, dos veces, un cuadrado sirve para avanzar "en horizontal" y "en vertical" (si lo dibujais, lo veréis más claro).

Por tanto, en total se cruzan 8 + 6 - 2 = 12 cuadrados.

Si vas haciendo pruebas, veréis que el número de "ángulos" que se toca en cualquier cuadrado de m x n es el máximo común divisor de m y n.

Por tanto, el número total de cuadrados que se cruza es m + n - mcd(m,n).

Desarrollando, para 3 dimensiones, se obtiene la fórmula que ha presentado (impecablemente!) Agustín ...

Espero que ahora quede más claro ...

casty dijo...

Yo no llevo poco tiempo pegandome con el problema de una recta atravesando una rejilla de cubos.
Aunque impopular, es un método de partición espacial usado en sintesis de imagen artificial (ray-casting). De hecho se han escrito bastantes papers al respecto. Si a algun programador le interesa el tema este es una joya (por facil de entender):

www.cse.yorku.ca/~amana/research/grid.pdf

Esta pregunta en concreta no me la he hecho nunca (el problema suele ser más qué cubos visito que cuantos).

No me gusta ninguno de los razonamientos (pediría cálculos concretos la próxima vez).

Pero como bien dice jaume, al atravesar la malla 2D el numero de cubos es la suma de las dimensiones menos su mcd (numero de cubos que se saltan al colisionar justo con el vertice).

No se puede generalizar directamente la formula a 3D.

La idea resumida es la siguiente. Cuando atraviesas una arista (corte en 2D) tienes que restar un cubo. Has avanzado en 2 dimensiones cambiando solo una vez de cubo. Pero cuando atraviesas un vertice, tienes que restar 2 cubos. Porque has avanzado 3 dimensiones, cambiando solo una vez de cubo.

Por lo que lo que hay que restar es el mcd de los 3 multiplicado por 2. Y el mcd de cada par de dimensiones multipilcado por 1.

es decir:

mcd3D(150,324,375) = 3
mcd2D1(150,324) = 6
mcd2D2(324,375) = 3
mcd2D3(150,375) = 75

por lo que lo que hay que restar es:
mcd3D*2 + mcd2D1 + mcd2D2 + mcd2D3=
6+6+3+75 = 90

La suma de los cubos es

150 + 324 + 375 = 849

849-90 = 759

Eso es lo que me da a mí. No se si estará bien o mal, pero como vosotros no poneis vuestras cuentas, no tengo manera de compararlo :(

Es muy facil que si alguien no cayó en la cuenta de multiplicar mcd3D por 2 le de 762.

Anónimo dijo...

http://farm1.static.flickr.com/224/491425225_0c9cde9554.jpg?v=0

me han entendido, pero a ver si ilustrando explico un poco mejor.

En un modelo bidimencional de 12 x 24 cuadraditos de 1 x 1 la diagonal atravezara 24 cuadraditos (los remarcados en fluor), el mcd de 12 x 24 es 12, la cantidad de vertices que toca la diagonal. notece en el dibujo de arriba.
cada uno de estos vertices se resta para evitar la suma inesesaria de cuadraditos.
(Elegi mal el tamaño del modelo pq justamente la cantidad de cuadraditos de la diagonal es igual a la base de rectangulo).

Ahora pasando al modelo tridimencional.

No piensen en algo complicado, sino en el mismo rectangulo pero uno parado, uno acostado, y uno inclinado (forma una imagen parecida al angulo recto con su bisectris). de esta forma se obtiene los mcd cada dos dimenciones (mcd a;b - mcd a;c - mcd b;c). Esto nos depura totalmente la cantidad de cuadrados de mas que no deben ser contados en la trayectoria de la daigonal (recuerden el dibujo del rectangulo, lo que se elimina siempre son los cuadrados que no estan pintados).

Ahora el dilema de las tres dimenciones.
Porsupuesto que por ser tridimencional el calculo de la diagonal no sera igual que en el bidimencional, dense cuenta que las tres dimenciones colicionan al unirlas para ver la trayectoria de la diagonal.
Al colicionar algunos cuadrados, de entre los que no se cuentan se unen, asi que en la resta de los mcd estoy restando cuandros de mas, asi que el resultado me estaria dando menos de lo que en verdad es.
por lo tanto lo que hago al sacar el mcd de las tres dimenciones es efectivamente calcular cuantos cuadrados colicionan, cuantos cuadrados se restan de mas.
Para obtener el verdadero resultado sumo estos cuadrados.

El resultado es 768. GANE?

casty dijo...

Tienes razón. Cuando coinciden los 3 saltos bidimensionales (aristas) se produce un salto tridimensional.

En un salto bidimensional se resta un cubo.

En un salto tridimensional se restan solo 2 cubos.

Por lo que cada salto tridimensional, se producen 3 saltos bidimensionales pero solo se restan 2 cubos, por lo que si contamos un cubo por cada salto bidimensional, hay que restar un cubo por cada salto tridimensional.

Hasta ahí claro. Aunque no estaría de más que pusieses las cuentas. Entre otras cosas porque no cuentas como sacas los 768.

El numero de cubos a visitar (incluidos los saltados) no son 150+324+375 sino 150+323+374, es decir, a 2 de ellos hay que restarles 1. Ya que en el primer cubo, estás tambien visitando el primer cubo de las 3 dimensiones, por lo que solo hay que contarlo una vez.

Y lo mismo pasa con los mcd. que el mcd sea 3 no significa que haya 3 saltos dimensionales. De hecho se producen mcd-1 saltos. Ya que la ultima coincidencia de los mcd se produce en el cubo final y no se produce salto. Por ejemplo, en una malla de 2x1x1 los mcd son todos 1, pero sin embargo, se producen 0 saltos dimensionales y no 1+1+1-1 = 2.

Luego

150+323+374 = 847
847 - 5 - 2 - 74 + 2 = 768.

Sale lo mismo si no tienes en cuenta ni el restar 1 a dos de las dimensiones, ni a todos los mcd. Es el típico caso en el que dos errores son un acierto. Pero como de nuevo no muestras los pasos, no puedo saber como lo has hecho!

Anónimo dijo...

que!!??. casty?, yo dije la respueste!. yo gane!. como que el gano?. que alguien me responda!

Jaume dijo...

Si, si, ... tienes toda la razón del mundo!! ... decía que era Casty, porque yo también había comentido el error de no multplicar por dos el MCD último ...

QUE LE QUEDE CLARO A LA BLOGOSPHERA: EL RESULTADO VERDADERO ES 759, Y LO HA RESUELTO EL BUENO DE AGUSTÍN ...

Por cierto, no sé si sabes que Google me ha quitado la publicidad, por promoción ilícitade mi blog (aquello de "clickad en los anuncios para hacer bote ...) así que ahora, en vez de $ reparto gallifantes ...

Ya sé que no es lo mismo, pero mira ... :(

Anónimo dijo...

jaja. ya me parecia que habia desaparecido la publicidad.

que son gallifantes? XD!.??

Anónimo dijo...

y mi premio?? XD!

Jaume dijo...

Agustín: bien saben algunos bloggers (RubenBCN) que en est página se dado premios en el pasado en esta web. Ahora, pero, sin pubicidad de Google, tenemos que retarmos "por amor al arte ...".

Nin_ers ... Un gallifante es un premio "honorífico, sin valor económico" (nunca vite "Juego de Niños en TV1"????)

Anónimo dijo...

Lo corroboro!!!

Anónimo dijo...

yo soy de argentina, y un dinerillo en euros vendria muy bien!. ademas de que los euros valen mucho aqui (4 veces lo que vale nuestra moneda).

aunquesea el vuelto del supermercado, creeme cualquier dinerillo que me den me vendria muy bien XD!

aunquesea como para poder hostear mi blog sobre un dominio propio, se que estoy mendigando, pero merescom mi premio no?

XD!

SALU2!

Jaume dijo...

Pues ya me gustaría, pero pr aquí se nos ha acabado el chollo. Puedes ver cómo ha ido todo en:

http://retosmentales.blogspot.com/2007/04/gana-dinero-resolviendo-juegos-en-este.html

:(

Un saludo!