Bu site için yaptığım başka bir zorluk üzerinde çalışırken bu sorunla karşılaştım. Bu mücadelede " Mario Kart 8 Scoring " i kullanıyorum. Puan miktarı oyuncu k [15,12,10,9,8,7,6,5,4,3,2,1]: sırada yer Bu 1 endeksli dizisi tarafından temsil edilir alır. Böylece 1.lik 15 puan, 2.lik 12 puan vb.
Bunun gibi noktalar atamak yeterince kolaydır, ancak zor kısım bağları nasıl ele aldığımla birlikte gelir. Yaptığım her bağlama oyuncusuna, her bağlama yeri için verilen puanların ortalamasını vermektir. Örneğin, sadece 1. ve 2. berabere kalırsa, her iki oyuncu da (15 + 12) / 2 = 13.5 puan alır. (Not: En yakın int'e yuvarlanmanıza izin verilir, bu nedenle 13 veya 14 de kabul edilebilir.) Sonra 3. - 12. sıra, konumları için normal miktarda puan alır.
Meydan okuma
Azalan olarak sıralanan 12 negatif olmayan tamsayı puanı verildiğinde, her oyuncunun aldığı puanların sayısını girin. Nokta listesini [15,12,10,9, ...] girdi olarak da alabilirsiniz. Her oyuncunun aldığı puan sayısının puanların gerçek değerlerine değil, diğer puanlarla nasıl karşılaştırıldığına bağlı olduğunu unutmayın.
Test Durumları
- [21,21,15,14,12,9,6,5,4,3,2,1] => [ 14,14 , 10,9,8,7,6,5,4,3,2, 1]
- [20,15,15,15,10,9,8,7,6,5,4,3] => [15, 10,10,10 , 8,7,6,5,4,3,2, 1]
- açıklama: (12 + 10 + 9) / 3 = 10.3333
- [1,1,1,1,1,1,1,1,1,1,1,1,1] => [ 7,7,7,7,7,7,7,7,7,7,7,7, 7 ]
- açıklama: (15 + 12 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1) / 12 = 6.8333
- [20,20,20,20,10,10,10,9,8,7,6,5] => [ 12,12,12,12 , 7,7,7 , 5,4,3,2, 1]
- açıklama: (15 + 12 + 10 + 9) / 4 = 11.5, (8 + 7 + 6) / 3 = 7
- [100,99,98,95,95,95,94,93,93,92,91,91] => [15,12,10, 8,8,8 , 6, 5,5 , 3, 2, 2 ]
- açıklama: (9 + 8 + 7) / 3 = 8, (5 + 4) / 2 = 4.5, (2 + 1) / 2 = 1.5