martes, 14 de octubre de 2008

Los extranjeros y el menú

En una posada preparan todas las noches y desde siempre los mismos platos: A,B,C,D,E,F,G,H e I.

Cinco extranjeros llegan una noche. Nadie les dice que comida corresponde a cada letra, pero ellos tratarán de averiguarlo.



Si podemos apreciar todo el problema se basa en 2 opciones, pedir o no el plato. Si a cada opción, sí o no, se le asigna una cifra lo que hacemos es construir un código binario. En este caso sí va a tener la cifra 1 y no la cifra 0. Entonces comenzamos a desarrollar partiendo del plato A.

A=0,0,0
B=0,0,1
C=0,1,0
D=0,1,1
E=1,0,0
F=1,0,1
G=1,1,0
H=1,1,1
 I =1,1,1

Si nos fijamos todos los platos están identificados con un código, a excepción de H e I que se repite, pero podemos jugar con estos dos últimos pedidos para dejarlos de la siguiente manera:

H=1,1,1 ---> tomamos 1 de abajo en el extremo izquierdo y bajamos 1 en el derecho ---> 2,1,0
I=1,1,1 ---> con lo de arriba nos queda ---> 0,1 2

Finalmente entonces nos queda cada plato con un código y haciendo un análisis de las tres noches vemos los siguiente.

La primera noche entonces escogemos E,F,G,H,H ; con lo cual identificamos el plato H inmediatamente, por haberlo pedido 2 veces. 
La segunda noche escogemos C,D,G,H,I ; con lo que identificamos G por ser el único aparte de H que se repite de la noche anterior.
La tercera noche escogemos B,D,F,I,I ; con lo que finalmente sabemos todos los demás. I por ser pedido 2 veces, B por ser el único que se pidió esa ultima noche, D fue el único pedido las segunda y tercera noche aparte de I, E por ser el único pedido solo la primera noche, C por ser pedido solo la segunda noche y F por ser el único pedido la primera y tercera noche. A finalmente es el único plato que no se pidió en ninguna de las tres noches.