printРабочее место участника

printЗадачи

2373. Обмен

Ограничения: время – 1s/2s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Петя получил на обед 1 литр розовой газировки, но он любит синюю газировку. Он может выменять синюю газировку в обмен на розовую у других учеников. Остальные ученики на обеде сидят за длинным столом. Петя может идти вдоль стола только слева направо, меняя один сорт газировки на другой. Каждый ученик любит какой-то сорт газировки и может поменять имеющийся у него в неограниченном количестве сорт газировки на свой любимый сорт по некоторому курсу обмена. Петя хочет получить как можно больше синей газировки.
Первая строка ввода содержит одно целое число `N` (`0\ ≤\ N\ ≤\ 100000`) — количество учеников за столом. Далее следует `N` строк, содержащих по два слова `O` и `W` и одно вещественное число `R` (`0.5\ <\ R\ <\ 2`) – информацию о возможных обменах в порядке слева направо. За `X` литров газировки сорта `W` Петя может получить `R*X` литров газировки сорта `O`. Названия сортов газировки могут иметь от 1 до 10 символов и не содержат пробелов.
В первой строке вывести одно вещественное число – максимальный объем синей газировки, который может получить Петя в экспоненциальной форме: `d."ddddd"`E`p`. Эта запись означает, что ответ равен `d."ddddd"*10^p`, здесь число d.ddddd должно иметь ровно 5 цифр после точки и находиться в диапазоне от 1.00000 до 9.99999. Если ответ равен 0, то вывести 0.00000E0.

Пример ввода 1

3
blue pink 1.0
red pink 1.5
blue red 1.0

Пример вывода 1

1.50000E0

Пример ввода 2

2
blue red 1.0
red pink 1.5

Пример вывода 2

0.00000E0

Пример ввода 3

4
orange pink 1.9
yellow orange 1.9
green yellow 1.9
blue green 1.9

Пример вывода 3

1.30321E1
loading