Ética y Hedge están en la planta baja de una torre masiva.
Las barreras de energía los separan del segundo objetivo de su búsqueda:
El Nodo de la Creación.
Para alcanzarlo, Ética debe usar tres corrientes de energía para subirla.
Al avanzar un temporizador comenzará la cuenta regresiva de 60 segundos.
Al fondo de la sala hay una cuenca hecha de torres invisibles
que pueden mantener la energía entre sí.
Después de un minuto, un torrente de energía
se derramará desde arriba llenando una unidad a la vez,
con un campo de fuerza que impide derramarse hacia delante o detrás.
Durante los 60 segundos de calma,
Ética y Hedge deben decidir exactamente cuántas unidades de energía caerán.
Para cada uno de los tres desafíos,
deben elegir la cantidad que llenará exactamente la cuenca.
Si lo hacen, la energía los impulsará más hacia arriba.
Pero si se equivocan en la cantidad, la elevación de energía fallará,
dejándolos caer.
Diagramas en las paredes ilustran algunos ejemplos
Esta configuración capturará exactamente 2 unidades de energía.
Esta configuración capturará 4, 3 aquí y 1 aquí.
Y este también capturará 4,
porque cualquier energía a la derecha se derramaría.
La energía lloverá de tal manera
que solo se desbordará si no hay espacio que pueda contenerla.
Hedge puede hacer visible una torre de bloques a la vez y cuenta lo alta que es,
pero no puede mirar toda la estructura a la vez.
¿Cómo programa Ética a Hedge para averiguar
exactamente cuánta energía puede sostener cada cuenca?
Piensa ahora para resolverlo solo o sola.
Aquí hay una forma de pensar sobre lo qué esta pasando:
cada célula desocupada retendrá energía
si y solo si hay al final un muro a su izquierda,
y al final un muro a su derecha.
Pero a Hedge le tomaría mucho tiempo verificar esto para cada celda individual.
¿Y si tuviera que considerar una columna entera de bloques a la vez?
¿Cuántas unidades de energía podrían sostenerse, por ejemplo?
Piensa ahora para resolverlo solo o sola.
Analicemos el problema mirando nuestro ejemplo.
Hay 5 columnas de bloques aquí.
El que está más a la izquierda no puede contener energía,
porque no hay nada más alto.
La segunda pila puede tener 3 unidades encima,
ya que estarían atrapadas entre estas dos pilas de 4 bloques.
Obtenemos 3 unidades tomando la altura donde la energía se nivelaría: 4,
y restando la altura de la pila entonces eso es 4 menos 1.
La tercera pila es similar: 4 a la izquierda, 4 a la derecha y 3 alto,
entonces tendrá 4 menos 3 es igual a 1 unidad.
La cuarta pila y la quinta pila no tienen nada más alto que ellas a la derecha,
así que no puedan retener energía.
Podemos adaptar esta idea en un algoritmo.
Considerando una columna a la vez como punto de referencia,
Hedge puede mirar hacia la izquierda pila por pila
para encontrar la altura del más alta,
mirar a la derecha para encontrar la altura más alta
y tomar la más pequeña de las dos como la altura de la energía puede llenar.
Si el resultado es más alto que la columna en cuestión,
se resta la altura de la columna original,
y el resultado será el número de unidades que esa columna puede aguantar.
Si es igual o inferior al nivel de la columna en cuestión,
la energía se derramaría.
Hedge puede aplicar eso a una cuenca completa con un bucle que comienza
en la columna de la izquierda y se mueve a la derecha, una columna a la vez.
En cada columna, ejecuta los mismos pasos: mira todo el camino hacia el más alto,
hace lo mismo a la derecha, toma la altura más baja de los dos,
resta la altura original de la columna,
y aumenta el gran total si ese número es positivo
Su bucle se repetirá tantas veces como columnas haya.
Eso funcionará, pero llevará mucho tiempo para una cuenca grande.
A cada paso, Hedge repite la acción. de mirar a la izquierda y a la derecha.
Si hay N pilas, mirará todas las N pilas N veces.
¿Hay una manera mas rápida?
Aquí hay un ahorro de tiempo: antes de hacer cualquier otra cosa,
Hedge puede comenzar a la izquierda,
y mantener una cuenta corriente de cuál es la pila más alta.
Aquí eso sería 2, 2 otra vez, ya que el primero fue más alto,
entonces 4, 4, 4.
Luego puede encontrar las pilas más altas de la derecha
haciendo lo mismo yendo de derecha a izquierda: 1, 3, 4, 4, 4.
Al final tendrá una mesa así en su memoria.
Ahora, Hedge puede dar un pasa más para calcular cuánta energía habrá
sobre cada pila con la misma ecuación de antes:
tomando el más pequeño de la izquierda almacenado y valores correctos,
y restando la altura de la torre actual.
En lugar de mirar N pilas N veces, mirará N pilas solo 3 veces
que es lo que se llama tiempo lineal.
Hay formas de optimizar la solución aún más,
Pero esto es lo suficientemente bueno para nuestros héroes.
Ética y Hedge funcionan como una sola.
La primera cascada es muy fácil y elevan la torre.
La segunda es un poco más dura.
La tercera es enorme con docenas de pilas de bloques.
El temporizador avanza hacia cero, pero el programa de Ética es rápido.
Ella pone la rueda en posición justo a tiempo,
y la energía las levanta al Nodo de la Creación.
Como el primero, revela una visión: recuerdos de años pasados.
La máquina del mundo lo cambió todo,
y Ética, en su posición como ingeniera jefe de robótica,
se preocupó por lo que vio.
Cuando subió el Bradbarrier para mantener a la gente adentro,
sabía que algo estaba muy mal.
Entonces creó tres artefactos
con la capacidad de restaurar poder, creatividad y memoria a las personas,
y los pasó de contrabando a tres comunidades.
Antes de que pudiera decirle a la gente cómo usarlos,
el gobierno descubrió sus esfuerzos y envió bots para arrestarla a ella
y a los otros programadores.
De último, Ética usó la máquina del mundo para crear
un robot que protegería el dispositivo antiguo
de las fuerzas de la ignorancia encerrándolo en un laberinto gigante.
A su creación la denominó Hedge.
Sin previo aviso, el elevador de energía parpadea, luego se esfuma.