ゴロム定規は、負の整数のセットであるため、セット内の整数の2つのペアが同じ距離だけ離れていることはありません。
たとえば[0, 1, 4, 6]
、このセットの2つの整数間の距離はすべて一意であるため、Golombルーラーです。
0, 1 -> distance 1
0, 4 -> distance 4
0, 6 -> distance 6
1, 4 -> distance 3
1, 6 -> distance 5
4, 6 -> distance 2
(翻訳は自明であるので)この課題では単純化のために、我々は課すゴロム定規があること、常に番号が含まれています0
(前の例がないもの)。
このセットは長さがあるので4
、これはゴロムの秩序 支配者だと言い4
ます。このセット(またはセット内に0
常にあるため、要素)の最大距離はです6
。したがって、これは長さの ゴロム定規であると言い6
ます。
あなたのタスク
短い長さの(次 50
を100
含む)順序の Golomb定規を見つけるあなたが見つけることができるように。見つけたルーラーは最適である必要はありません(以下を参照)。
最適性
順序N
のゴロム定規は、他の順序のゴロム定規がない場合に最適であると言われていますN
は、より短い長さの。
最適なゴロム定規は28未満の次数で知られていますが、次数が増えるにつれて最適性を見つけて証明することはますます難しくなります。
したがって、次の注文のいずれかに対して最適なゴロム定規を見つけることは期待されていません 50
と100
(あなたは、彼らが最適であることを証明できることを期待し、さらに少ないです)。
プログラムの実行に時間制限はありません。
ベースライン
以下のリストは、単純な検索戦略で評価さ50
れた100
(順序で)からまでのGolombルーラーの長さのリストです(このリストは@PeterTaylorに感謝します)。
[4850 5122 5242 5297 5750 5997 6373 6800 6924 7459 7546 7788 8219 8502 8729 8941 9881 10199 10586 10897 11288 11613 11875 12033 12930 13393 14046 14533 14900 15165 15687 15971 16618 17354 17931 18844 19070 19630 19669 20721 21947 22525 23290 23563 23880 24595 24767 25630 26036 26254 27218]
これらすべての長さの合計は 734078
です。
得点
あなたのスコアが間のすべてのあなたのゴロム定規の長さの合計になります50
と100
の間ゴロム定規の長さの合計で割った値、50
および100
ベースラインで:734078
。
特定の注文のGolombルーラーが見つからなかった場合、その特定の注文のベースラインの長さの2倍を使用して、同じ方法でスコアを計算します。
最も低いスコアの答えが勝ちです。
同点の場合、2つの回答が異なる最大の順序の長さが比較され、最も短い順序が優先されます。すべての注文で両方の回答の長さが同じ場合、最初に投稿された回答が優先されます。
n
はn(n-1)/2
であり、それは正の違いがいくつあるかです。したがって、このチャレンジで可能な最小スコアは147050/734078 > 0.2003193
です。