Une plaque de bronze dans le piédestal de la Statue de la Liberté montre le poème " Le nouveau colosse " d'Emma Lazarus, dont une partie se lit comme suit:
Donnez-moi vos fatigués, vos pauvres,
vos masses entassées qui aspirent à respirer librement,
les misérables ordures de votre rivage grouillant.
Envoyez-moi ces sans-abri, tempête-tost,
je lève ma lampe à côté de la porte d'or!
Pour simplifier cette section du poème pour ce défi, nous allons tout mettre en majuscules et remplacer les sauts de ligne par des barres obliques ( /
), en conservant les virgules et autres signes de ponctuation tels quels:
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!
Nous appellerons cette chaîne S. Elle a un hachage md5 8c66bbb9684f591c34751661ce9b5cea
. Vous pouvez éventuellement supposer qu'il a une nouvelle ligne de fin, auquel cas le hachage md5 l'est 0928ff6581bc207d0938b193321f16e6
.
Écrivez un programme ou une fonction qui accepte une seule chaîne. Lorsque la chaîne est S, sortie dans l'ordre , une par ligne, les six phrases qui décrivent le type de personnes que le poème représente Lady Liberty demandant:
TIRED
POOR
HUDDLED MASSES YEARNING TO BREATHE FREE
WRETCHED REFUSE OF YOUR TEEMING SHORE
HOMELESS
TEMPEST-TOST
(Cette chaîne précise, éventuellement suivie d'une seule nouvelle ligne de fin, doit être votre sortie pour l'entrée S.)
Pour au moins une chaîne d'entrée qui n'est pas S, votre sortie doit être une chaîne autre que les six lignes ci-dessus. Cela pourrait être aussi simple que de sortir uniquement TIRED
si l'entrée est uniquement GIVE ME YOUR TIRED
. Cette règle vise à empêcher le codage en dur pur. Sinon, lorsque la chaîne d'entrée n'est pas S, votre code peut faire quoi que ce soit.
Il s'agit essentiellement d'un défi à sortie constante où vous obtenez une entrée qui est relativement proche de la sortie. Vous pouvez bien sûr ignorer la plupart du temps l'entrée et coder en dur la sortie, mais il peut être préférable, par exemple, de supprimer les sous-chaînes de l'entrée nécessaires à la sortie.
Pour référence, voici les indices de base zéro et les longueurs des six lignes de sortie dans S:
13 5, 25 4, 36 39, 81 37, 136 8, 146 12
Le code le plus court en octets gagne.