これは警官のスレッドです。強盗のスレッドについては、こちらをご覧ください。
前書き
このCops / Robbersチャレンジの場合、警官は出力生成プログラムを作成し、それらを一緒に織り込みます。警官のプログラムを分解して、目的の出力を生成するのは、強盗の仕事です。
警官のルール
警官は、合計で最大256バイトを使用して2〜8(包括的)のプログラムを書き込むことができ、そのすべてが何らかの出力を生成する必要があります。作成するプログラムはすべて同じ言語である必要があります。警官は、彼らのプログラムを「織り交ぜ」て、強盗がプログラムが何であるかを把握するのをより困難にします。
次に、織り合わせの説明をします。さまざまなプログラムを表す文字列を検討してください。織りのプロセスは、プログラムの最初の文字を繰り返し引き抜き、プログラムの文字がなくなるまで新しい文字列の末尾に連結することです。たとえば、2つのプログラムがlion
とのTIGER
場合、可能な織り合わせはTIliGoEnR
です。ただし、プログラムをスクランブルすることはできないため、RoITEnlGi
受け入れられません。
1つのプログラムを除くすべての文字が織り合わせの結果から削除されると、残りのプログラムはそのまま表示されることに注意してください。TIGER
から文字を削除すると、TIliGoEnR
結果がになりlion
ます。
警官のすべてのプログラムと出力には、印刷可能なASCII文字(20-7E)と改行のみを含める必要があります。プログラムにエラーが含まれてはならず、妥当なマシンで10秒以内に実行する必要があります。提出する場合は、どこかの言語の無料の通訳者が必要です。ハッシュやその他の形式の暗号化のように、提出物にコメントを追加することは許可されていません。空のプログラムは許可されていません(Sorry Stuck)。
警官は、織り交ぜられたコード、言語、使用されるさまざまなプログラムの数、および各プログラムの出力を投稿します。プログラムを自動的に織り交ぜるこのCJamスクリプトを書いてくれたMartinに大いに感謝します。
投稿から1週間が経過すると、プログラムは安全と見なされます。その時点で、警官はポイントを受け取るために個々のプログラムを投稿する必要があります。
得点
安全な提出を採点するときに一緒に追加される2つのコンポーネントがあります。
- 256を、使用したプログラムの数の累乗である2で割った数で割ったもの。
- 織り合わせのバイト数を最も近い2の累乗に切り上げ、256に分割します。
たとえば、エントリTIliGoEnR
(9バイト)が安全であれば、256/2 ^ 2 + 256/16 = 80ポイントを受け取ります。
警官の提出がクラックされると、警官は16ポイントを失います。警官は、彼らの提出物がクラックされたことを示さなければなりません。
警官のチャレンジの勝者は、人々が参加するのに十分な期間を経て最もポイントを獲得した人になります。
リーダーボード
これは進行中の作業であり、この質問からintrepidcoderによって適合されました。
回答が表示されるようにするには、正確なマークダウンテンプレートを使用して、見出しから回答を開始してください。
# Language Name, N programs, M bytes; Score ###/### (if safe/cracked)
セミコロン以降は無視されるため、スコアをそこに配置できます。
投稿が安全な場合は、次のようなヘッダーを追加します。
# Language Name, safe, N programs, M bytes; Score ###
クラックされている場合は、次のようなヘッダーを追加します。
# Language Name, [cracked](link-to-crack), N programs, M bytes; Score -16
|||
たとえば)を選択N
し、コードのを区切り文字を含む文字列に置き換えることができます"|||"
。(@Eridanは、これをチャレンジに自由に含めることができます。)