← Todos los desafíos

Hércules y la Hydra

Descripción

El Castor Hércules tiene un árbol en su jardín. Desafortunadamente, el árbol tiene una enfermedad y todas sus hojas murieron y se pusieron cafés. Ahora Hércules quiere cortar todas las ramas que tienen hojas muertas para que puedan crecer nuevas ramas sanas.

En la imagen, los números indican el tiempo que se requiere para cortar cada rama. Cuando Hércules corta una rama más grande, por ejemplo la que tiene el número 5 dentro de la elipse verde, todas las hojas que estaban después de ahí se caen y no necesita cortar las ramas marcadas con 1 y 3 por separado.

Pregunta

¿Cuál es el tiempo mínimo que necesita Hércules para cortar todas las ramas con hojas secas?

Ver soluciónOcultar solución

Solución

La respuesta es 20. Podemos trabajar desde las hojas hacia la raíz. Para cada grupo de ramas comparamos dos opciones: cortar las ramas pequeñas que ya habíamos seleccionado o cortar una sola rama más grande que las elimina a todas. En cada punto conservamos la opción con menor costo.

Tras simplificar los grupos inferiores, los costos equivalentes quedan en 1 + 3 + 4 + 4 + 3 + 5. En el siguiente nivel, el lado izquierdo cuesta min(9, 1 + 3 + 4) = 8 y el grupo central cuesta min(8, 4 + 3) = 7; el grupo derecho cuesta 5. Por tanto, el mínimo total es 8 + 7 + 5 = 20.

Para el aula

Dibuja un árbol pequeño con una raíz y seis hojas. Escribe un costo en cada rama. Para cada rama grande, compara su costo con la suma de los cortes necesarios en sus ramas hijas y conserva la opción más barata. Después cambia un solo costo y observa si cambia la estrategia óptima.

Recursos del desafío

Créditos

  • Alisher Ikramov Uzbekistán
  • Timur Sitdikov Uzbekistán
  • Ahto Truu Estonia