Inspirado em /puzzling//q/626
Nas suas aventuras, você chega a uma série de 7 pontes que precisa atravessar. Debaixo de cada ponte vive um troll. Para atravessar a ponte, você deve primeiro dar ao troll um número de bolos como uma porcentagem do número de bolos que você está carregando. Por serem trolls gentis, eles devolvem um certo número de bolos a você.
No início de cada dia, o rei dos trolls locais define o percentual de imposto sobre bolos que cada viajante deve pagar e o reembolso do bolo - o número de bolos que cada troll deve devolver aos viajantes.
Seu trabalho é calcular o número mínimo de bolos necessários para passar pelas 7 pontes de trolls para as condições especificadas naquele dia.
Presumir:
- Dois parâmetros de entrada: porcentagem de imposto sobre bolos (número inteiro de 0 a 100) e reembolso do bolo de pesca à corrica.
- Ninguém, nem mesmo os trolls, quer um bolo parcialmente comido por outro troll. Se você ficar com uma fração de bolo, o troll o pega.
- Se um troll aceita um imposto de bolo, mas precisa devolver todos os bolos (fica com o mesmo ou menos bolos do que antes), ele fica com raiva e come você e seus bolos.
- Todo troll deve manter pelo menos um bolo completo.
- Você só pode carregar no máximo 100 bolos.
- Você precisa terminar o dia em que está atualmente ou do outro lado das 7 pontes.
Desafio:
Escreva um programa completo para gerar o número mínimo de bolos para viajar para o dia atual ou zero, se não for possível viajar com segurança hoje - você esperará para ver quais são os números amanhã.
A entrada deve ser passada como stdin, argumentos de linha de comando ou entrada de arquivo.
O código mais curto (contagem de bytes) vence.
Exemplo:
25% de imposto sobre o bolo, reembolso de 2 trolls.
comece com 19 bolos
antes do troll 1: (19 * 0,75) = 14,25
após o troll 1: (14 + 2) = 16
antes do troll 2: (16 * 0,75) = 12
após troll 2: (12 + 2) = 14
etc.
19 bolos -> 16 -> 14 -> 12 -> 11 -> 10 -> 9 -> 8
18 bolos -> 15 -> 13 -> 11 -> 10 -> 9 -> 8 -> 8 (regra 3)
Para 18 bolos, o último troll não conseguiria manter nenhum bolo. Portanto, o número mínimo de bolos para um dia de 25% / 2 é 19.
input: 25 2
output: 19
Exemplo 2:
90% de imposto sobre bolo, 1 reembolso para bolo troll
100 bolos -> 11 -> 2 -> 1 (regra 4)
O terceiro troll não conseguiu ficar com nenhum bolo. Portanto, não é possível viajar em um dia de 90% / 1, mesmo começando com o número máximo de bolos.
input: 90 1
output: 0
Dados
Faça um gráfico rápido dos valores de entrada e saída. Fiquei surpreso que isso não era "suave" (como uma curva de sino ou similar); existem várias ilhas visíveis.

Dados para os interessados. As colunas são divididas em intervalos de 5%, as linhas são unidades de 1 intervalo de reembolso de bolo (o Excel girou a imagem). Você pode ver que não pode haver um reembolso superior a 28 bolos.
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 2caso de 11 bolos, você dá ao troll 2,75 bolos e recupera 2, para que o troll mantenha 0,75 (+ 25) e você sobreviva. No 90 1caso dos 2 bolos, você dá 1,8 ao troll e recebe 1 de volta, para que o troll fique com 0,8 (+. 2), mas você morre.