Bueno, pongo aquí la solución con la que di yo. Mi planteamiento fue hacerlo primero para 2x2, luego extenderlo para 4x4 y por último a 8x8. Mi solución es más fea que las anteriores. Copio lo que escribí en otro sitio (editando algún detalle), pero antes de copiar os comento que el problema me lo contaron con en vez de un tablero, 64 presos dispuestos en filas y columnas y en vez de una ficha de reversi, pues con un sombrero negro o blanco. El alcaide elige a una persona, el primer preso le cambia el gorro a alguien y el segundo debe adivinar el elegido por el alcaide. Vamos, lo mismo:
Si pensamos en un número binario de 64 cifras, la idea al final es que debes de poder agrupar los 2^64 números posibles binarios en 64 grupos (de igual tamaño) de forma que dado un número cualquiera (menor que 2^64) puedas con una operación de cambiar una cifra llevarlo siempre al grupo que quieras.
Y como no se me ocurría directamente, lo hago usando base 2 (binario), base 4 y base 16.
Primero te digo cómo tiene que traducir el segundo el preso señalado:
Lo primero es de los 64 presos hacer 16 grupos de 4 presos (podría hacerse haciendo matrices de 2x2). Cambiando un color por 1 y el otro por 0, cada matriz es un número binario que al pasarlo a decimal queda entre 0 y 15. Y hacemos esta asignación:
0, 1, 14 y 15 van a 0
2, 3, 12 y 13 van a 1
4, 5, 10 y 11 van a 2
6, 7, 8 y 9 van a 3.
Explico por qué esta asignación. Observad el primer grupo, en binario son 0000, 0001, 1110 y 1111. Observad que entre estos 4 números no hay 2 que se diferencien en exactamente 2 cifras. Y lo mismo pasa con los otros 3 grupos. Y gracias a ello observad que dado un número binario abcd, es imposible que podamos mandarlo por ejemplo al mismo grupo de dos formas distintas cambiando una cifra, ya que de ser así los dos números obtenidos se diferenciarían exactamente en 2 cifras. Así que los 4 números que se pueden generar a partir de abcd cambiando una cifra tienen que ir a conjuntos distintos y por… » ver todo el comentario
Para empezar #20 ha encontrado una solución, que explica mejor en #24.
Él dice que con 57 casillas puede asignarle a cada casilla todas las operaciones posibles de girar al menos 2 fichas de 6 dadas. Esto lo podría hacer escribiendo de la casilla 8 a la 63 su número en binario y cada 1 representaría un giro (por ejemplo 010011 sería girar la moneda 1, 2 y 5). Haciéndolo así lo que tienes que hacer al final es tras ver todas las casillas con giro (las del color acordado), pasarlas a binario, y con todos los números obtenidos ver las veces que sale el 1 en cada cifra. Si el 1 sale un número impar de veces en las unidades indicaría que la ficha 1 se giraría y así.
Comento esto porque si lo entendéis, será más fácil entender la solución que a mi me pasaron:
Resulta que no me acordaba y la he mirado después de ver la de @jgbmur y pensar en lo de ponerlo en binario, y me encuentro con que en esa solución se usa una idea muy parecida. Pero en un principio es una solución distinta.
Y por si fuera poco, me vengo aquí a escribir este comentario y me encuentro con #30, que parece que habla en chino pero es lo mismo que la solución que he enlazado, donde viene explicado con mucho detalle.
Mañana pongo mi solución, que en un principio es distinta.
#18, uhm, no sé yo si es buena idea diferenciar casillas, cuando w realidad todas son iguales, es decir, el problema se podría hacer igualmente estando en un cuadrado o en fila.
#21, uhm, no sé si entiendo lo que quieres decir con la respuesta a #14. En cualquier caso de las ecuaciones que ha puesto #14 no se puede deducir el valor de A+B, básicamente porque los vectores (1,1,0,0) (equivalente a A+B), (0,0,1,1) (equivalente a C+D), (0,1,1,0) (equivalente a B+C) y (1,0,1,0) (equivalente a A+C) son linealmente independientes
P.d. No he mencionado la última ecuación porque depende de las 3 primeras.
#2 También se puede llegar a ese número (o el mismo reflejado), con la premisa de poner el número que ás distancia requiere lo antes posible. Así tenemos
_ _ _ _ _ _ _ _
Si ponemos el 5 el primero, forzamos la posición del segundo 4:
4 _ _ _ _ 4 _ _
En la segunda posición no puede ir un 3, ya que se supondría con el 4, por lo que ya sabemos que es un 1 o un 2.
En la tercera posición puede ir un 3, así que lo clavamos, quedando:
4 _ 3 _ _ 4 3 _
En este momento vemos el último, y nos fijamos que ahí sólo puede ir un 2, ya que el 1 no cumpliría las premisas, lo que fuerza la posición del segundo 2:
Otra pista, se pueden expresar los coeficientes de otra manera y desdoblar en dos sumas. De ahí se saca la suma telescópica. Para que se cancelen términos, por supuesto, tendremos que meter signos - #7#13
#13 Bien, creo que ya lo tengo:
La relación entre los tiempos de subida y bajada es de 2:1, además ese tramo del camino se hace por lo menos 2 veces.
Para saber el tiempo en la cima, hemos de restar al tiempo total, el tiempo de la subida y bajada.
Si llamamos T al tiempo de bajada, el de subida es 2T, entonces 2T+T=3T (como bien indica #7 ).
Sea cual sea ese T, si llamamos 'C' al tiempo en la cima y 'X' al tiempo total tenemos que:
C=X-3T
Pero resulta que conocemos 6 horas, que si lo ponemos en minutos, son 360 minutos.
Tanto 6 como 360 son múltiplos de 3.
Si a un múltiplo de 3, se le resta un múltiplo de 3, el resultado también será múltiplo de 3 ( 3n - 3m = 3(n-m) ) por lo que podemos deducir que C será un múltiplo de 3.
Y como el máximo común múltiplo de 3, 6 y 4 es 12 tenemos que:
6*2=12
3*4=12
4*3=12
Como ya hemos dicho, C será múltiplo de 3, luego la distancia en la cima será múltiplo de 12.
Si hacemos, L como el tiempo en la ladera en la bajada. SC como la distancia recorrida en la cima y SL como la distancia recorrida en la ladera:
SC=4*C=4*3k=12k
SL=(3*2L)+(6L)=12SL
Si sumamos los dos tenemos:
S=24(k+L)
O lo que es lo mismo, sea cual sea lo que tarden en la ladera y en la cima, la distancia recorrida siempre será 24
¿algo así?
Si pensamos en un número binario de 64 cifras, la idea al final es que debes de poder agrupar los 2^64 números posibles binarios en 64 grupos (de igual tamaño) de forma que dado un número cualquiera (menor que 2^64) puedas con una operación de cambiar una cifra llevarlo siempre al grupo que quieras.
Y como no se me ocurría directamente, lo hago usando base 2 (binario), base 4 y base 16.
Primero te digo cómo tiene que traducir el segundo el preso señalado:
Lo primero es de los 64 presos hacer 16 grupos de 4 presos (podría hacerse haciendo matrices de 2x2). Cambiando un color por 1 y el otro por 0, cada matriz es un número binario que al pasarlo a decimal queda entre 0 y 15. Y hacemos esta asignación:
0, 1, 14 y 15 van a 0
2, 3, 12 y 13 van a 1
4, 5, 10 y 11 van a 2
6, 7, 8 y 9 van a 3.
Explico por qué esta asignación. Observad el primer grupo, en binario son 0000, 0001, 1110 y 1111. Observad que entre estos 4 números no hay 2 que se diferencien en exactamente 2 cifras. Y lo mismo pasa con los otros 3 grupos. Y gracias a ello observad que dado un número binario abcd, es imposible que podamos mandarlo por ejemplo al mismo grupo de dos formas distintas cambiando una cifra, ya que de ser así los dos números obtenidos se diferenciarían exactamente en 2 cifras. Así que los 4 números que se pueden generar a partir de abcd cambiando una cifra tienen que ir a conjuntos distintos y por… » ver todo el comentario