Hay un pueblo sioux. Tiene un tótem:
__
___| |___
\/ \ / \/
/\ ``| |`` /\
/^^\ | | /^^\
/ /\ \ | | / /\ \
''''''''''''''''''''''''''''
El tótem permite a los sioux dominar el clima para ayudarlos en sus diferentes tareas. Ayuda a los aldeanos a decorar adecuadamente el tótem para invocar el clima adecuado. El tótem tiene varias partes:
__
___|AA|___
\/ \BBBBBBBB/ \/
/\ ``|CC|`` /\
/^^\ |DD| /^^\
/ /\ \ 13 |EE| 42 / /\ \
''''''''''''''''''''''''''''
A
es para sol()
o nubesww
B
es para lluvia""""""""
o nieve::::::::
C
es para tormentazz
D
es para viento~~
E
es para niebla==
Pero eso no es todo. El tótem necesita bailarines meteorológicos. Cuantos más elementos se invoquen, mayor será el número de bailarines requeridos. Si se invoca un elemento, se necesita un bailarín. Dos elementos, dos bailarines. Más allá de cuatro elementos, siempre habrá como máximo cuatro bailarines. Si no se invoca ningún elemento, no se necesitan bailarines. El tótem necesita descansar.
Los bailarines meteorológicos deben aparecer en el orden 1234
. Por ejemplo, si hay dos bailarines, las máquinas tragamonedas 1
y 2
deben estar ocupados. Además, cada bailarín realiza una figura diferente:
1
esT
2
esY
3
esK
4
esX
Ahora, los aldeanos expresarán sus deseos climáticos. Pronunciarán una oración que contenga los elementos climáticos que les gustaría tener. Configura el tótem y los bailarines para cumplir sus deseos.
Desafío
Escriba un programa que tome una cadena como entrada, haga coincidir los elementos de la oración ( sol , lluvia , ...) y genere la aldea completa con el tótem correctamente configurado y sus bailarines. Su programa no tiene que verificar la corrección de la cadena de entrada (por ejemplo, no contendrá sol ni nubes ). Debe coincidir con las palabras (en sentido literal):
- La cadena de entrada
X says: "I like the wind, it blows the worries away"
coincide con wind , porque la coma no es parte de la palabra - La cadena de entrada
Y says: "I hope the weather won't get too windy"
no coincide con wind , porque windy y wind son dos palabras diferentes
Se garantiza que las palabras que coincidan se encuentren en la parte entre comillas de la cadena de entrada (la primera parte que designa quién está hablando nunca contendrá una palabra que pueda coincidir).
Ejemplos
The squaw says: "I want sun and wind for drying the clothes"
__
___|()|___
\/ \ / \/
/\ ``| |`` /\
/^^\ |~~| /^^\
/ /\ \ T | | Y / /\ \
''''''''''''''''''''''''''''
The warrior thinks: "A good thunderstorm will afraid the invaders. Or a snow storm. Or an impenetrable fog. Or an oppressive sun."
__
___|()|___
\/ \::::::::/ \/
/\ ``|zz|`` /\
/^^\ | | /^^\
/ /\ \ TK |==| XY / /\ \
''''''''''''''''''''''''''''
The papoose shouts: "I WANNA GO OUTSIDE PLAY UNDER THE SUN!"
__
___|()|___
\/ \ / \/
/\ ``| |`` /\
/^^\ | | /^^\
/ /\ \ T | | / /\ \
''''''''''''''''''''''''''''
The wise grandma whispers: "The totem is an illusion"
__
___| |___
\/ \ / \/
/\ ``| |`` /\
/^^\ | | /^^\
/ /\ \ | | / /\ \
''''''''''''''''''''''''''''
The shaman confides: "I perform my magic hidden in the fog, under the rain or at least under heavy clouds"
__
___|ww|___
\/ \""""""""/ \/
/\ ``| |`` /\
/^^\ | | /^^\
/ /\ \ TK |==| Y / /\ \
''''''''''''''''''''''''''''
The village chief claims: "The meat of bison is better preserved in the snow, or dried under a burning sun. My Pa' used to say that heavy wind and a thunderstorm could help too, but I have no clue how. And despite everyone contradicting me, I am persuaded a good fog will do as well"
__
___|()|___
\/ \::::::::/ \/
/\ ``|zz|`` /\
/^^\ |~~| /^^\
/ /\ \ TK |==| XY / /\ \
''''''''''''''''''''''''''''
Este es el código de golf, por lo que gana la respuesta más corta en bytes. Se alientan las explicaciones.
sun
yclouds
, o ambosrain
ysnow
?The papoose shouts: "I WANNA GO OUTSIDE PLAY UNDER THE SUN!"
. También este desafío fue mucho menos doloroso y mucho más divertido de lo que pensé que sería, así que gracias por el desafío: P :)Respuestas:
Python,
527524508504481474462461 bytesPruébalo en línea!
fuente
Python 3 ,
473464460 bytesPruébalo en línea!
-9 bytes
-4 bytes gracias a ovs
fuente
s
. Simplemente combine sus dos últimas líneasprint(r...28)
para 460 bytes.JavaScript (ES6), 417 bytes
La idea aquí era generar el tótem primero, luego agregar los tikis reflejados a ambos lados.
Incluye dos funciones auxiliares:
i
que comprueba si una cadena es una de las palabras en la entrada; yg
, que hacei
y devuelve la cadena dada o" "
.g
También cuenta cuántos elementos faltan para ser utilizados por los bailarines en la parte inferior.Fragmento de prueba
fuente