オブジェクトが迷路内を移動する小さなボールベアリングを備えた木製のおもちゃを知っていますか?これはちょっとそうです。迷路と一連の動きを考慮して、ボールがどこに到達するかを決定します。
ボードは垂直に保持されており、ボールはボードが回転したときに重力によってのみ移動します。各「移動」は回転(ラジアン単位)です。
迷路は単純に同心の円形の壁であり、各壁には、これと同様に、外側の廊下にちょうど1つの開口部があります(これらの壁は円形で、尖っていません):

ご覧のとおり、ボールは真ん中から始まり、外に出ようとしています。ボールは、回転の途中であっても、正しい方向に達するとすぐに落下します。1回転すると、ボールが複数の開口部から落下する場合があります。たとえば、>= n * 2 * pi迷路から抜け出すには回転で十分です。
ゲームの目的上0.001、開口部のラジアン内にあるボールは「フィット」と見なされ、次の廊下にドロップスルーします。
入力:
入力は2つの部分に分かれています。
迷路は
n、迷路内にいくつの壁/開口部があるかを表す整数によって与えられます。これに続いnて、次の回廊への通路がどこにあるかを表すそれぞれに1つの数字が付いた行が続きます。動きは、
mどれだけの動きが行われたかを表す整数として与えられ、その後、ボードのm時計回りの回転がラジアン単位で続きます(マイナスは反時計回り)。
すべての通過位置はとして与えられ0 rad = up、正のラジアンは時計回りに移動します。
上記のサンプル画像の場合、入力は次のようになります。
7 // 7 openings
0
0.785398163
3.14159265
1.74532925
4.71238898
4.01425728
0
3 // 3 moves
-3.92699082
3.14159265
0.81245687
出力:
ボールが終了するコリドー番号を出力します。コリドーには、中心から始まるゼロインデックスが付けられているため、から開始し0ます。1つの開口部を通過すると、廊下にい1ます。迷路全体をエスケープする場合は、任意の整数を出力します>= n
サンプルの入力には、3つの動きがあります。1つ目は、ボールを2つの開口部から落下させます。第二は、開口部、及び第三の発見を見つけることができなかったものを。ボールは廊下3にあるため、予想される出力は次のとおりです。
3
無効な入力に対する動作は未定義です。有効な入力は、と、よく形成されているn >= 1とm >= 0。
スコアリングは標準コードのゴルフであり、バイト数が最も少なくなります。標準的な抜け穴は禁止されています。入力はハードコーディングされてはなりませんが、標準入力、引数、コンソールなどから取得できます。出力はコンソール、ファイル、何でも可能です。
1であると想像した場合、落下したときにボールを穴の中心にジャンプさせずに、大きな穴で作業することになります。
