あります40個の方法有向ハミルトン経路は:3×3のグリッド上に配置することができる
。このグラフィック(感謝SP3000! )のみを示している20本の無向パスが。40の有向パスについて、各色の線を両方向にトラバースします。
チャレンジ
印刷可能なASCIIのみを使用して、次のような文字の3×3グリッドを書き込みます。
ABC
DEF
GHI
40本の有向パスのそれぞれは、40シングルライン、9文字のプログラムとして、このグリッドから読み込まれると、目標は1から40までの各プログラムの出力に一意の整数値を持つことであるためにこれを行うすべての 40本のパスすることは難しいとは考えられません、そのため、できるだけ多くのパスで機能させる必要があります。
40のパスプログラムが1〜40の最も明確な数字を出力する提出物が勝者になります。Tiebreakerは以前の提出に進みます。
エラーが発生するか、1〜40の整数を出力しないパスプログラム、または別のパスプログラムが既にカバーしている整数を出力するパスプログラムはカウントされません。具体的には:
- コンパイル、実行、または終了中にエラーが発生したプログラムはカウントされません。警告は大丈夫です。
- 1から40の整数を出力しないプログラム、
-35
または35 36
カウントされない、またはカウントされないようなわずかに不正なものを出力するプログラム。 - 出力を生成するためにユーザー入力を必要とするプログラムはカウントされません。
- 終わらないプログラムはカウントされません。
- 今に、決定論的でないプログラムはカウントされません。
- そうでない場合、別の有効なプログラムがすでに出力した1から40の整数を出力する有効なプログラムはカウントされません。(最初のプログラムがカウントされます。)
- 1〜40の整数の整数表現を出力するプログラムのみが合計にカウントされます。番号は、通常であると予想されている
1
、2
、...、39
、40
それはあなたの言語のための規範ではない場合を除き、形式。(出力の末尾の改行は問題ありません。) - プログラムが出力する番号とその順序は関係ありません。有効なプログラムからの異なる整数の数のみが重要です。
すべてのパスプログラムは同じ言語で実行する必要があります。ただし、実際には、「プログラム」は、ターゲット整数を出力または返す完全なプログラムと同様に、関数(必要な引数なし)またはREPLコマンドである場合があります。関数、REPLコマンド、および完全なプログラムを組み合わせて使用できます。
9文字の印刷可能なASCII文字を区別する必要はありません。
例
3×3グリッドが
ABC
DEF
GHI
そして、あなたの40のプログラムと出力はこのように見えました
ABCFEDGHI -> 26
ABCFIHEDG -> 90
ABCFIHGDE -> 2
ABEDGHIFC -> syntax error
ADEBCFIHG -> prints 40 but then errors
ADGHEBCFI -> 6
ADGHIFCBE -> 6
ADGHIFEBC -> 6
CBADEFIHG -> runtime error
CBADGHEFI -> 3
CBADGHIFE -> 4
CFEBADGHI -> -32
CFIHEBADG -> 38.0
CFIHGDABE -> "36"
EDABCFIHG -> 33
EFCBADGHI -> no output
EHGDABCFI -> compilation error
EHIFCBADG -> 8
GDABCFEHI -> 22
GHEDABCFI -> 41
IHGDEFCBA -> 0
GDEHIFCBA -> '9'
EDGHIFCBA -> +10
CFIHGDEBA -> 11
GHIFCBEDA -> error
IFCBEHGDA -> error
EBCFIHGDA -> prints 23 but then loops infinitely
CBEFIHGDA -> randomly prints either 24 or 44
GHIFEDABC -> error
IFEHGDABC -> 30
EFIHGDABC -> 39
IHGDABEFC -> 7
GDABEHIFC -> 29
EBADGHIFC -> -1
GHIFCBADE -> 26
IHGDABCFE -> 1
IFCBADGHE -> error
GDABCFIHE -> no output
IHEFCBADG -> no output
IFCBADEHG -> "quack"
1から40までの14個の異なる整数が有効に出力されるため、スコアは14になります26 2 6 3 4 33 8 22 11 30 39 7 29 1
。
123654789