Me encontré con un libro de matemáticas de las pruebas. Era de mi padre cuando era joven. Me encontré con un problema con el siguiente cuestionario. He resuelto, pero me pregunto, ¿hay una manera más rápida de hacerlo? Si es así, ¿cómo puedo calcular el tiempo (tiempo polinomio) que se necesita para resolverlo? Se puede construir un algoritmo?
El problema es este:
Dos hermanos tienen una vaca que produce 10 kilos de leche por día. Porque son justas, que comparten la leche y cada uno recibe 5 kilos.
Sólo tienen disponibles tres botellas.
$A$ que se adapte a 10 kilos.
$B$ que se adapte a 7 kilos.
$C$ que se adapte a 3 kilos.
Cómo hacer que compartir?
Lo que yo hice estos pasos:
Bottle Sizes
A B C
10 7 3
Moves Bottles What we do:
1st 10 0 0 Fill the bottle A.
2nd 7 0 3 Fill the bottle C.
3rd 7 3 0 Empty the index of C in B.
4th 4 3 3 Refill C.
5th 4 6 0 Empty C in B.
6th 1 6 3 Refill C from A.
7th 1 7 2 Refill B from C.
8th 8 0 2 Empty the index of B in A.
9th 8 2 0 Empty the index of C in B.
10th 5 2 3 Refill C from A.
11th 5 5 0 Empty C in B.