Knockout, oyuncuların sırayla ateş ettiği bir basketbol oyunudur. Her biri bu oyunculardan birini "öldürme" olan iki kişilik yarışmalar dizisi olarak oynanır.
Oyuncuların A B C Dve 0.1 0.2 0.3 0.4yarışmadaki diğer oyuncudan bağımsız olarak, atış ve sepet yapma şanslarının sırasıyla olduğunu varsayalım . Çizginin önündeki iki oyuncu Ave B"kavga". Yana Ailk gider, öyle savunucusu yok olma tehlikesiyle karşı karşıya, ve Bbir saldırganın değil, hemen ortadan kaldırılması tehlikesi. Aönce vuruyor. Eğer Abunu yapar, Abaşarıyla savundu ve sıranın arkasına gider. Çizgi olarak değişir B C D A. Eğer Abaşaramazsa, Bvuruyor. Eğer yaparsa B, o zaman Adışarı çıkar ve Bçizginin arkasına gider, böylece çizgi olur C D B. Eğer ikisi deAveya Bbunu yapmazsa, işlem bir sepet Ayapana Aveya tekrarlayana kadar tekrar çekim yaparak tekrar eder B.
Çizginin olarak değiştirildiğini B C D A( Abaşarıyla savunduğunu) varsayalım . Şimdi Bve C"savaş" B, savunucu ve Csaldırgan olarak. Bu işlem yalnızca bir kişi kalana kadar tekrarlanır. O kişi kazanır.
Senin görevin, sepet yapma şansı göz önüne alındığında her bir kişinin kazanma olasılıklarını hesaplamaktır.
Giriş :
Gibi sayıların, bir listesi 0.1 0.2veya 0.5 0.5 0.5 0.5, n inci sayı o şans n inci oyuncu bir sepet yapacaktır. Bu girdiyi, bir işleve parametreler de dahil olmak üzere istediğiniz herhangi bir biçimde alabilirsiniz.
Çıktı :
Sayılar, bir listesi n inci sayı o şans n inci oyuncu oyunu kazanır. Sayılarınız en az iki ondalık basamağa kadar en az% 90 oranında doğru olmalıdır. Bu, simülasyon tabanlı bir yaklaşım kullanabileceğiniz anlamına gelir. Bununla birlikte, kodunuz simülasyon tabanlı değilse ( en az 6 ondalık basamağa doğru bir cevap vermeniz garanti edilir), puanınızdan% 30 oranında uzaklaşın.
Örnekler arasında 0.5 0.5: Oyuncuları arayın Ave B. Izin vermek pA olasılığı olasılığı olsun . ABir sahiptir 2/3başarıyla savunan şansını (bir var çünkü 1/2şans olduğunu Askorları, bir 1/4şans olduğunu Aözlüyor ve Bskorları ve 1/4şans o bayan ve işlem tekrar ikisi). Eğer Asavunamazsa, elenir ve Bkazanır. Eğer Asavunur, daha sonra hat haline gelir B A. Durum simetrik olduğu için Akazanma olasılığı (1 - p). Biz:
p = 2/3 * (1 - p) + 1/3 * 0. Çözüyoruz p = 2/5. Çıktı 2/5 3/5veya olmalıdır 0.4 0.6.
Daha karmaşık örnekler yapma olasılığı ile yeterince iyi değilim.
Daha fazla test vakasına ihtiyacınız varsa, işte birkaç tane:
0.1 0.2 0.3 0.4 --> 0.01 0.12 0.25 0.62
0.99 0.99 --> 0.5 0.5 (it's not exact, but if you round to two decimal places, you get 0.5 and 0.5)