Esinlenen /puzzling//q/626
Maceralarınızda geçmeniz gereken 7 köprü dizisine varıyorsunuz. Her köprünün altında bir trol yaşıyor. Köprüden geçmek için önce trollere taşıdığınız keklerin yüzdesi olarak bir dizi kek vermelisiniz. Bunlar nazik troller olduğu için size belirli sayıda kek verecekler.
Her günün başında, yerel trol kralı her gezginin ödemesi gereken kek vergisi yüzdesini ve trol kek geri ödemesini - her trolün gezginlere geri vermesi gereken kek sayısını belirler.
İşiniz, o gün verilen koşullar için 7 trol köprüsünün tümünü geçmek için gereken minimum kek sayısını hesaplamaktır.
varsayalım:
- İki giriş parametresi: yüzde kek vergisi (0 ile 100 arasında tam sayı) ve kek geri ödeme.
- Hiç kimse, trol bile değil, kısmen başka bir trol tarafından yenen bir pasta istemez. Bir pastanın bir kısmı ile bırakılırsa, trol onu alır.
- Bir trol kek vergisini kabul eder, ancak daha sonra size tüm kekleri geri vermek zorunda kalırsa (eskisinden daha fazla veya daha az kek bırakılır), kızar ve sizi ve keklerinizi yiyecektir.
- Her trolde en az bir tam kek kalmalıdır.
- En fazla 100 kek taşıyabilirsiniz.
- Bulunduğunuz günü veya 7 köprünün diğer tarafındaki günü sonlandırmanız gerekir.
Meydan okuma:
Geçerli gün için seyahat etmek için minimum kek sayısını veya bugün güvenli bir şekilde seyahat etmek mümkün değilse, sıfır kek sayısını çıkarmak için tam bir program yazın - sayıların yarın ne olduğunu görmek için bekleyeceksiniz.
Giriş stdin, komut satırı bağımsız değişkenleri veya dosya girişi olarak geçirilmelidir.
En kısa kod (bayt sayısı) kazanır.
Misal:
% 25 kek vergisi, 2 trol pastası iadesi.
trol 1'den önce 19 kek ile başlayın : (19 * 0.75) =
trol 1'den sonra 14.25 : (14 + 2) = 16
trol 2'den önce: (16 * 0.75) = 12
trol 2'den sonra: (12 + 2) = 14
vb.
19 kek -> 16 -> 14 -> 12 -> 11 -> 10 -> 9 -> 8
18 kek -> 15 -> 13 -> 11 -> 10 -> 9 -> 8 -> 8 (kural 3)
18 kek için, son trol kek kalmayacaktı. Bu nedenle,% 25/2 gün için minimum kek sayısı 19'dur.
input: 25 2
output: 19
Örnek 2:
% 90 kek vergisi, 1 trol pastası iadesi
100 kek -> 11 -> 2 -> 1 (kural 4)
Üçüncü trol pastayı tutamadı. Bu nedenle, maksimum kek sayısından başlayarak bile% 90/1 günde seyahat etmek mümkün değildir.
input: 90 1
output: 0
Veri
Giriş ve çıkış değerlerinin hızlı bir grafiğini oluşturun. Bu "pürüzsüz" (bir çan eğrisi veya benzeri gibi) değildi şaşırdım; birkaç göze çarpan ada var.

İlgilenenler için veriler. Sütunlar% 5 aralığa bölünür, satırlar 1 kek geri ödeme aralığının birimleridir (görüntüyü döndürülmüş excel). 28 kekden daha yüksek bir geri ödeme yapılamayacağını görebilirsiniz.
27, 17, 13, 14, 15, 18, 20, 24, 53, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
47, 27, 20, 19, 19, 19, 24, 39, 48, 68, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0
67, 37, 28, 24, 23, 28, 27, 29, 50, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
87, 47, 33, 29, 27, 28, 31, 44, 37, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 57, 40, 34, 31, 29, 34, 34, 62, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 67, 48, 39, 35, 38, 37, 49, 57, 76, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 77, 53, 44, 39, 38, 47, 39, 59, 78, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 87, 60, 49, 43, 39, 40, 54, 46, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 97, 68, 54, 47, 48, 44, 44, 71, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 73, 59, 51, 48, 47, 59, 73, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 80, 64, 55, 49, 51, 49, 68, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 88, 69, 59, 58, 54, 64, 70, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 93, 74, 63, 58, 57, 54, 57, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 100, 79, 67, 59, 67, 69, 82, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 84, 71, 68, 60, 59, 77, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 89, 75, 68, 64, 74, 79, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 94, 79, 69, 67, 64, 66, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 99, 83, 78, 71, 79, 91, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 87, 78, 74, 69, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 91, 79, 77, 84, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 95, 88, 87, 74, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 99, 88, 80, 89, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 89, 84, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 98, 87, 94, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 98, 91, 84, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 99, 94, 99, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 97, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
25 211 pasta durumda, sen Troll 2.75 kek vermek ve 2 geri almak trol .75 tutar böylece (+. 25) ve hayatta. In 90 12 pasta durumda, sen trol 1.8 verip trol 0,8 tutar böylece geri 1 olsun (+. 2), ancak ölürsün.