uCoder | 1185 | Nível: 3 | Tempo Limite: 5
Matemática é o melhor remédio
Adaptado por erich.rodriguesf
Competição: Interfatecs 2015
Toninho está doente, abatido, macambúzio. Também está sorumbático e meditabundo com seus problemas de saúde. Ele, que é professor de Matemática, saiu da consulta com o médico bastante desanimado, cheio de remédios para tomar. O doutor que o atendeu até tentou animá-lo, sacaneando um pouco na receita com um pequeno desafio matemático ao taciturno paciente (vai que o Toninho se anima um pouco ...). A receita emitida pelo médico indica, para cada remédio, quantas vezes este deve ser ingerido por dia e também a quantidade (em mg) referente a cada dose. O médico orientou a Toninho para que tome a primeira dose de cada remédio todas juntas, e depois siga tomando a medicação segundo o horário de cada uma até que ocorra uma nova situação de coincidência total, em que ele precise novamente tomar todos os remédios juntos. Quando isso acontecer ele deve tomar a dose de cada remédio e então suspender a medicação. Repare que o médico não especificou diretamente na receita por quanto tempo ou quantas doses Toninho precisa tomar de cada remédio, ele precisará fazer as contas para saber. Esse é o singelo desafio que o dedicado doutor propôs ao moribundo como uma até certo ponto sádica forma de animá-lo. Sua tarefa neste problema será determinar por quantos dias Toninho tomará a medicação e quanto de remédio ele terá que tomar e comprar.
Entrada
A entrada possui vários casos de teste. Inicialmente um valor Q é informado, indicando a quantidade de casos a serem processados. A descrição de cada caso é iniciada por um inteiro N, que indica a quantidade de remédios distintos que Toninho precisa tomar. Seguem-se N linhas, cada uma contendo uma string de até 20 caracteres alfanuméricos que corresponde ao nome do remédio, um inteiro D que representa a quantidade (em mg) correspondente a uma dose, um inteiro I que representa de quantas em quantas horas Toninho deve tomar uma dose daquele remédio e um inteiro C que indica quantos mg existem em cada caixa do remédio. Assuma que 1 ≤ Q ≤ 100; 2 ≤ N ≤ 200; 1 ≤ D ≤ 500; 1 ≤ I ≤ 10 e 1 ≤ C ≤ 1000.
Saída
Para cada caso de teste, imprima o número sequencial do caso, conforme mostra o exemplo. Em uma nova linha imprima um inteiro indicando por quantos dias vai se estender a medicação, assumindo que Toninho vai tomar a primeira dose exatamente no primeiro instante após a meia noite do dia 1 do tratamento. Em seguida, imprima N linhas, uma para cada remédio, contendo o nome do medicamento, a quantidade total em mg que Toninho precisa ingerir daquele remédio e a quantidade de caixas que precisarão ser compradas para atender à necessidade do doente. Imprima os dados dos remédios em ordem alfabética dos seus nomes. Deixe uma linha em branco após cada caso de teste.
Exemplo de Entrada | Exemplo de Saída |
---|---|
2 |
Caso 1:
|