Una placa de bronce en el pedestal de la Estatua de la Libertad muestra el poema " El nuevo coloso " de Emma Lazarus, parte del cual dice:
Dame tu cansado, tu pobre,
tus masas acurrucadas que anhelan respirar libremente,
la basura miserable de tu orilla llena.
¡Envíenme a estos, los desamparados, la tormenta de lluvia,
levanto mi lámpara al lado de la puerta dorada!
Para simplificar esta sección del poema para este desafío, lo pondremos todo en mayúscula y reemplazaremos las nuevas líneas con barras ( /
), manteniendo las comas y otros signos de puntuación como es:
GIVE ME YOUR TIRED, YOUR POOR,/YOUR HUDDLED MASSES YEARNING TO BREATHE FREE,/THE WRETCHED REFUSE OF YOUR TEEMING SHORE./SEND THESE, THE HOMELESS, TEMPEST-TOST TO ME,/I LIFT MY LAMP BESIDE THE GOLDEN DOOR!
Llamaremos a esta cadena S. Tiene md5 hash 8c66bbb9684f591c34751661ce9b5cea
. Opcionalmente, puede suponer que tiene una nueva línea final, en cuyo caso el hash md5 es 0928ff6581bc207d0938b193321f16e6
.
Escriba un programa o función que tome una sola cadena. Cuando la cadena es S, salida en orden , una por línea, las seis frases que describen el tipo de personas que el poema representa a Lady Liberty pidiendo:
TIRED
POOR
HUDDLED MASSES YEARNING TO BREATHE FREE
WRETCHED REFUSE OF YOUR TEEMING SHORE
HOMELESS
TEMPEST-TOST
(Esta cadena precisa, opcionalmente seguida de una nueva línea final, debe ser su salida para la entrada S.)
Para al menos una cadena de entrada que no es S, su salida debe ser cualquier cadena distinta de las seis líneas anteriores. Esto podría ser tan simple como generar solo TIRED
si la entrada es solo GIVE ME YOUR TIRED
. Esta regla es para evitar la codificación pura. De lo contrario, cuando la cadena de entrada no es S, su código puede hacer cualquier cosa.
Esto es esencialmente un desafío de salida constante donde se le da una entrada que está relativamente cerca de la salida. Por supuesto, podría ignorar la entrada y codificar la salida, pero puede ser mejor, por ejemplo, quitar las subcadenas de la entrada necesaria para la salida.
Como referencia, aquí están los índices basados en cero y las longitudes de las seis líneas de salida en S:
13 5, 25 4, 36 39, 81 37, 136 8, 146 12
El código más corto en bytes gana.