En el videojuego Minecraft, puedes obtener balizas y colocarlas en estructuras piramidales para obtener efectos especiales, como la velocidad o el impulso de salto.
Su tarea es, dado un efecto, construir la pirámide de baliza requerida para ello.
Hay múltiples tamaños de pirámides de baliza, necesarios para diferentes efectos. El más grande tiene una 9
base de tamaño y el más pequeño tiene una 3
base de tamaño .
Estos son los efectos que puede obtener y la pirámide requerida para ellos (como lo especifica la wiki oficial de Minecraft:
3:
Speed I
Haste I
5:
Resistance I
Jump Boost I
7:
Strength I
9:
Regeneration I
Resistance II
Jump Boost II
Speed II
Haste II
Strength II
Las balizas se construyen con la base en la parte inferior, luego sube, disminuyendo el tamaño en 2. Una vez que golpeamos 1, debería haber una baliza +
en la parte superior.
Una baliza se define como a +
, pero necesita una pirámide de soporte para funcionar.
Puede suponer que la entrada es válida (es decir, es uno de los efectos especificados aquí) y, opcionalmente, puede suponer que la entrada está en minúsculas. El #
personaje debe usarse en la pirámide y +
como el faro.
Ejemplos:
Haste I
+
###
Resistance I
+
###
#####
Strength I
+
###
#####
#######
Regeneration I
+
###
#####
#######
#########
Speed II
+
###
#####
#######
#########
También debe tomar múltiples efectos ya que las pirámides de baliza pueden compartir bloques; sin embargo, una baliza no puede hacer más de un efecto. Debes usar bloques mínimos.
Al tomar múltiples efectos, puede usar cualquier formato de entrada razonable, como una lista, nueva línea separada, etc. Además, puede tomar una lista singleton para balizas individuales si está usando listas.
Para estos ejemplos, solo enumero una solución posible, pero hay varias soluciones aceptables.
Speed I, Haste II
++
####
#####
#######
#########
(another acceptable solution is the following,
these are both valid as they use the same amount of blocks)
+
###
#####
#######+
##########
(the following is not valid for the same input; it doesn't use minimal blocks)
+
###
##### +
####### ###
#########
Strength I, Strength I
++
####
######
########
(no muestre las cosas entre paréntesis, si eso no es lo suficientemente obvio)