Dados dos cubos de distinto tamaño y cuál de los dos hay que llenar primero, determina cuántas acciones se necesitan para medir una cantidad exacta de litros transfiriendo líquido de forma estratégica entre los cubos.
Hay algunas reglas que tu solución debe seguir:
Tu programa recibirá como entrada:
Tu programa debe determinar:
Nota: cualquier cambio que se haga en uno o en ambos cubos cuenta como una (1) acción.
Ejemplo: El cubo uno puede contener hasta 7 litros, y el cubo dos puede contener hasta 11 litros. Supongamos que, en un paso dado, el cubo uno contiene 7 litros y el cubo dos contiene 8 litros (7,8). Si vacías el cubo uno y no cambias nada en el cubo dos, de modo que te quedan 0 litros y 8 litros respectivamente (0,8), eso cuenta como una acción. En cambio, si hubieras vertido del cubo uno al cubo dos hasta que el cubo dos estuviera lleno, con el resultado de 4 litros en el cubo uno y 11 litros en el cubo dos (4,11), eso también contaría solo como una acción.
Otro ejemplo: El cubo uno puede contener 3 litros, y el cubo dos puede contener hasta 5 litros. Se te dice que debes empezar con el cubo uno. Así que tu primera acción es llenar el cubo uno. Eliges vaciar el cubo uno como segunda acción. Para tu tercera acción, no puedes llenar el cubo dos, porque esto incumple la tercera regla: no puedes acabar, después de ninguna acción, en un estado en el que el cubo inicial esté vacío y el otro cubo esté lleno.
Escrito con <3 en Fullstack Academy por Lindsay Levine.
Regístrate en Exercism para aprender y dominar Dart con 78 ejercicios y mentoría humana real, todo gratis.