Imaginemos que tenemos un asistente que sabe un par de hechizos. Cada hechizo tiene 3 atributos: Daño, tiempo de reutilización de tiempo, y un tiempo de lanzamiento.
Tiempo de reutilización: la cantidad de tiempo (t) que tarda antes de ser capaz de lanzar ese hechizo de nuevo. Un hechizo pasa de "enfriamiento" en el momento en que comienza a lanzar.
Tiempo de lanzamiento: la cantidad de tiempo (t) que se necesita para usar un hechizo. Mientras que el asistente está echando algo de otro hechizo puede ser lanzado y no puede ser cancelado.
La pregunta es: ¿Cómo maximizar el daño dado diferentes conjuntos de hechizos?
Es fácil calcular el mayor daño por el tiempo de lanzamiento. Pero, ¿qué ocurre en situaciones en las que es mejor esperar entonces para conseguir la "pegada" de fundición de baja hechizo de daño cuando un mucho mayor que uno está disponible:
Por ejemplo,
1) 100 de daño, de lanzamiento de 1 segundo tiempo, a los 10 segundos de enfriamiento.
2) 10 daños, 4 en la segunda el tiempo de lanzamiento, 0 de segunda enfriar.
Así que, en este caso, usted tendría elenco de #1, #2, esperar. Cast #1