Bu bir mini golf deliği:
Dış sınır yarıçapı 10 ve merkezi (0,0) olan bir dairedir. İç sınır, yarıçap 3 ve orta (0,5) olan bir dairedir. Tee (0, -8) 'de. Topun yarıçapı 0 olan bir nokta olduğunu varsayın.
Topun dinamikleri aşağıdaki kurallara tabidir:
Top başlangıçta enerji 50 ve belirli bir açıyla vurulur.
- Kartezyen koordinat sisteminde açı bozuluyor, bu nedenle 0 ° doğrudan sağa doğru, 90 ° doğrudan yukarı doğru vb.
Top, iç veya dış dairenin kenarına çarptığında, yansıma yasasını kullanarak daireden seker.
Top hareket ettikçe enerji kaybeder.
Kapladığı her toprak birimi için 1 birim enerji kaybeder.
Bir duvardan her seferinde 5 birim enerji kaybeder.
Top, enerji tükendiğinde veya deliğe düştüğünde durur.
Top, <= 5 birim enerji ile bir duvara çarparsa durur.
Deliğin 1 mesafesi yakınında olduğunda enerjisi <10 ise deliğe düşer, aksi halde hareket etmeye devam eder.
Meydan okuma
Bir deliğin xy koordinatları göz önüne alındığında, topun deliğe düşmesi için topa vurabileceğiniz bir açı döndürün (eğer böyle bir açı varsa).
Giriş
Herhangi bir uygun biçimde deliğin merkezinin x ve y koordinatlarını girdi olarak alın. Giriş STDIN (veya en yakın alternatif), komut satırı parametreleri veya işlev bağımsız değişkenlerinden alınabilir.
Çıktı
Top deliğe düşecek şekilde topa tee'den vurulabilecek derece cinsinden bir açı yazdırın veya döndürün. Böyle bir açı varsa, çıktı [0, 360) aralığında olmalıdır, aksi takdirde çıktı -1 olmalıdır.