Una lapide in bronzo nel piedistallo della Statua della Libertà mostra la poesia " Il nuovo colosso " di Emma Lazarus, parte della quale recita:
Dammi il tuo stanco, il tuo povero, le
tue masse rannicchiate che desiderano respirare liberamente,
i rifiuti miserabili della tua costa brulicante.
Mandami questi, il senzatetto, il temporale,
alzo la mia lampada accanto alla porta d'oro!
Per semplificare questa sezione del poema per questa sfida, renderemo tutto in maiuscolo e sostituiremo le nuove righe con barre ( /
), mantenendo le virgole e altre punteggiatura così come sono:
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!
Chiameremo questa stringa S. Ha hash md5 8c66bbb9684f591c34751661ce9b5cea
. Puoi facoltativamente supporre che abbia una nuova riga finale, nel qual caso l'hash md5 è 0928ff6581bc207d0938b193321f16e6
.
Scrivi un programma o una funzione che accetta una singola stringa. Quando la stringa è S, emetti in ordine , uno per riga, le sei frasi che descrivono il tipo di persone che la poesia descrive Lady Liberty chiedendo:
TIRED
POOR
HUDDLED MASSES YEARNING TO BREATHE FREE
WRETCHED REFUSE OF YOUR TEEMING SHORE
HOMELESS
TEMPEST-TOST
(Questa stringa precisa, facoltativamente seguita da una nuova riga finale, deve essere l'output per l'input S.)
Per almeno una stringa di input che non è S, l'output dovrebbe essere qualsiasi stringa diversa dalle sei righe precedenti. Questo potrebbe essere semplice come emettere solo TIRED
se l'input è solo GIVE ME YOUR TIRED
. Questa regola serve a prevenire il puro hardcoding. Altrimenti, quando la stringa di input non è S, il codice potrebbe fare qualsiasi cosa.
Questa è essenzialmente una sfida di output costante in cui ti viene dato un input che è relativamente vicino all'output. Ovviamente potresti ignorare principalmente l'input e hardcode l'output, ma potrebbe essere meglio, diciamo, eliminare le sottostringhe dell'input necessarie per l'output.
Per riferimento, ecco gli indici e le lunghezze in base zero delle sei linee di output in S:
13 5, 25 4, 36 39, 81 37, 136 8, 146 12
Vince il codice più breve in byte.