Nesnenin labirentte hareket etmesi gereken küçük rulmanlı ahşap oyuncakları biliyor musunuz? Bu böyle. Bir labirent ve bir dizi hamle verildiğinde, topun nerede biteceğini belirleyin.
Tahta dikey olarak tutulur ve top sadece tahta döndürüldüğünde yerçekimi ile hareket eder. Her "hareket" bir dönüştür (radyan cinsinden).
Labirent basitçe eşmerkezli dairesel duvarlardır, her duvarın dış koridorda tam olarak bir açıklığı vardır, buna benzer (bu duvarların daireler olduğunu ve sivri olmadığını varsayalım):

Gördüğünüz gibi top ortadan başlıyor ve dışarı çıkmaya çalışıyor. Top , bir rotasyonun ortasında olsa bile, doğru yönlendirme elde edilir edilmez anında düşecektir. Tek bir dönüş, topun birden fazla açıklıktan düşmesine neden olabilir. Örneğin, >= n * 2 * piherhangi bir labirentten kaçmak için bir dönüş yeterlidir.
Oyunun amaçları için 0.001, açıklığın radyanları içinde bulunan bir top "uygun" olarak kabul edilir ve bir sonraki koridora düşer.
Giriş:
Giriş iki bölümden oluşur:
Labirent, labirentte
nkaç duvar / açıklık olduğunu gösteren bir tamsayı tarafından verilir . Bunu,nbir sonraki koridora geçişin nerede olduğunu gösteren, her birinde birer sayı bulunan çizgiler izler .Hareketler,
mkaç hareketin gerçekleştirildiğini temsil eden bir tamsayı olarak verilir , ardından (tekrar ayrı satırlarda) tahtanın radyan cinsindenmsaat yönünde dönüşleri (negatif saat yönünün tersidir) verilir.
Tüm geçiş konumları 0 rad = uppozitif radyanların saat yönünde olacağı şekilde verilmiştir .
Yukarıdaki örnek görüntü için, giriş aşağıdaki gibi görünebilir:
7 // 7 openings
0
0.785398163
3.14159265
1.74532925
4.71238898
4.01425728
0
3 // 3 moves
-3.92699082
3.14159265
0.81245687
Çıktı:
Topun bittiği koridor numarasını çıktılayın. Koridorlar merkezden başlayarak sıfır indekslenir, böylece başlarsınız 0. Bir açıklıktan geçerseniz, koridordasınız demektir 1. Tüm labirentten kaçarsanız, herhangi bir tam sayı çıktısı alın>= n
Numune girişi için üç hamle vardır. Birincisi, topun iki açıklıktan düşmesine neden olacaktır . İkinci bir açıklık ve üçüncü bulur bulmaz birini . Top şimdi koridorda 3, bu yüzden beklenen çıktı:
3
Geçersiz giriş için davranış tanımsız. Geçerli girişi ile, çok iyi oluşturulmuştur n >= 1ve m >= 0.
Puanlama standart kod golf, en az bayt kazanır. Standart boşluklar yasaktır. Giriş sabit kodlanmış olmamalıdır, ancak standart giriş, bağımsız değişkenler, konsol vb.
1, sadece büyük deliklerle çalışacaksınız, düştüklerinde topları deliğin merkezine atlamayacaksınız.
