ブロンズプラークの台座にある自由の女神は詩「が表示さ新しい巨像をエマラザロ、読み込みの一部で」:
あなたの疲れた、あなたの貧しい人々、
自由に呼吸したいと願っているあなたの群がった大衆
、あなたの満ちている海岸の惨めなゴミをください。
ホームレス、テンペストトースト、これらを私に送ってください、
私は金色のドアの横にランプを持ち上げます!
このチャレンジの詩のこのセクションを簡素化するために/
、カンマやその他の句読点をそのままにして、すべて大文字にして改行をスラッシュ()に置き換えます。
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!
この文字列をSと呼びます。md5hashを 持っています8c66bbb9684f591c34751661ce9b5cea
。オプションで、末尾に改行があると想定できます0928ff6581bc207d0938b193321f16e6
。この場合、md5ハッシュはです。
単一の文字列を取り込むプログラムまたは関数を作成します。文字列がSの場合、1行に1つずつ順番に出力され、詩が描く自由の女神が求める人々のタイプを説明する6つのフレーズ:
TIRED
POOR
HUDDLED MASSES YEARNING TO BREATHE FREE
WRETCHED REFUSE OF YOUR TEEMING SHORE
HOMELESS
TEMPEST-TOST
(この正確な文字列は、オプションで単一の末尾の改行が続きますが、入力Sの出力でなければなりません。)
以下のために少なくとも一つである入力文字列ではない S、あなたの出力は、上記の6行以外の任意の文字列でなければなりません。これはTIRED
、入力がの場合にのみ出力するのと同じくらい簡単GIVE ME YOUR TIRED
です。このルールは、純粋なハードコーディングを防ぐためのものです。それ以外の場合、入力文字列がSでないとき、コードは何でもできます。
これは、出力に比較的近い入力が与えられる場合、本質的に一定出力の課題です。もちろん、ほとんどの場合入力を無視して出力をハードコードすることもできますが、たとえば、出力に必要な入力の部分文字列を削除する方がよい場合があります。
参考のため、Sの6つの出力行のゼロベースのインデックスと長さは次のとおりです。
13 5, 25 4, 36 39, 81 37, 136 8, 146 12
バイト単位の最短コードが優先されます。