eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Масштабирование рецептов

Масштабирование рецептов

Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB

Рецепт представляет собой список ингредиентов и набор инструкций по приготовлению блюда. Он часто записывается для определенного количества порций. Если у вас есть рецепт для 4 порций, и вы хотите сделать 6 порций, то оказывается, что простое умножение сумм для каждого ингредиента на 1.5 часто неверно! Причина в том, что оригинальный рецепт, возможно, был округлен до ближайшей чайной ложки, грамма и так далее. А ошибки округления увеличиваются при масштабировании рецепта.

Некоторые рецепты специально написаны для облегчения задачи масштабирования. Эти рецепты разрабатываются с использованием "процентов Бейкера". Каждый ингредиент указан не только по весу (в граммах), но и в процентах относительно "основного ингредиента". Основной ингредиент всегда имеет 100% процент Бейкера. Обратите внимание, что сумма процентов Бейкера по всем ингредиентам больше 100%, а также что процентные ставки Бейкера некоторых ингредиентов могут превышать 100%.

prb7540.gif

Для масштабирования рецепта следует:

  1. определить коэффициент масштабирования путем деления количества желаемых частей на количество частей, для которых написан рецепт;

  2. умножить вес основного ингредиента на 100% процента Бейкера на коэффициент масштабирования. Это масштабированный вес основного ингредиента;

  3. вычислить масштабированный вес каждого другого ингредиента, умножив его процент Бейкера на масштабированный вес основного ингредиента.

Вхідні дані

Первая строка задает количество тестов t (t1000). Каждый тест начинается со строки, содержащей три целых числа r, p and d: r (1r20) - количество ингредиентов, p (1p12) - количество порций, для которых написан рецепт и d (1d1000) - количество желаемых порций. Каждая из следующих r строк имеет формат

< name > < weight > < percentage >

где < name > - название ингредиента (строка до 20 символов без пробелов), < weight > - вес в граммах этого ингредиента, <percentage> - процент Бейкера. Оба значения < weight > и < percentage > - действительные числа с одним десятичным знаком. Каждый рецепт содержит только один ингредиент с процентом Бейкера 100%.

Вихідні дані

Для каждого теста выведите Recipe # пробел и соответствующий номер теста как показано в примере. Далее вывести список ингредиентов и их масштабированный вес в граммах. Название ингредиента и вес следует разделять одним пробелом. Каждый ингредиент выводить в одной строке, в том же порядке в каком он поступает на вход. После каждого теста вывести 40 черточек ('-'). Ответы выводить с точностью до 0.1г.

Приклад

Вхідні дані #1
2
6 4 20
oliveoil 50.9 11.2
garlic 12.0 2.7
beef 453.6 100.0
onions 1134.0 250.0
raisins 82.5 18.2
bouillon 10.0 2.2
4 5 8
Milk 265.0 93.0
SodiumCitrate 11.0 4.0
WhiteCheddar 285.0 100.0
DryMacaroni 240.0 84.0
Вихідні дані #1
Recipe # 1
oliveoil 254.0
garlic 61.2
beef 2268.0
onions 5670.0
raisins 412.8
bouillon 49.9
----------------------------------------
Recipe # 2
Milk 424.1
SodiumCitrate 18.2
WhiteCheddar 456.0
DryMacaroni 383.0
----------------------------------------
Джерело 2015 ACM North America - Rocky Mountain, Problem D