バックグラウンド:
ジャックはカボチャで、ハロウィーンのたびにカボチャ畑の近くの村の住民を怖がらせます。しかし、毎年、誰かが彼の中のろうそくに火をつけた後、彼はろうそくが燃え尽きる前に皆を怖がらせるために限られた時間を持ちます。過去数年間、彼は彼の貧弱な意思決定のために村を少しだけしか話せませんでしたが、彼があなたを助けてくれるようになったので、彼はできるだけ多くの村を話せるようになります!
仕事:
村の場所のリストとろうそくの寿命を考慮して、ジャックが訪問できる村の最大数を出力します。パス自体を印刷する必要はありません。
入力:
ろうそくの寿命とデカルト座標系の村の場所のリスト。Jackが発信するパンプキンパッチは常に0,0になります。とにかく入力をフォーマットできます。ジャックの動きを単純化するために、彼は水平、垂直、または斜めにしか移動できません。つまり、キャンドルは動きごとに1または1.5(斜めに少し長くなります)のライフユニットを失います。寿命が0以下の場合、キャンドルは燃え尽きます。
出力:
ろうそくが燃える前にジャックが訪れることができる村の最大数に等しい整数。
ルール:
これはcode-golfなので、バイト単位の最短コードが優先されます。標準の抜け穴は許可されていません。
テストケース:
// Format [lifespan] [list of village coordinates] -> [maximum visit-able villages]
4 -1,0 1,0 2,0 3,0 4,0 5,0 -> 3
4 1,1 2,2 3,3 -> 2
5 1,1 2,1 3,1 4,1 5,0 5,1 -> 4