Надёжный маршрут
Просмотр в формате PDFВ телекоммуникационной сети имеется n узлов связи и m двусторонних каналов передачи данных. Для каждого канала известна его надёжность — вероятность того, что канал работает исправно (число от 0 до 1).
Маршрут передачи данных от узла s к узлу t может проходить через несколько каналов. Маршрут считается успешным, если все каналы на нём работают. Следовательно, надёжность маршрута равна произведению надёжностей всех его каналов.
Требуется найти маршрут из s в t с максимальной надёжностью.
Если передать данные из s в t невозможно, выведите 0.
Входные данные
В первой строке заданы четыре целых числа n, m, s, t — количество узлов связи, количество каналов, начальный и конечный узлы.
В следующих m строках описаны каналы. Каждая строка содержит два целых числа u, v и вещественное число p — канал между узлами u и v и его надёжность.
Выходные данные
Выведите одно вещественное число — максимальную надёжность маршрута от s до t.
Абсолютная или относительная погрешность ответа не должна превышать 1e-6.
Если маршрут недостижим, выведите 0.
Ограничения
1 <= n <= 1000000 <= m <= 3000001 <= s, t <= n1 <= u, v <= n0 <= p <= 1
Примеры
Пример 1
Входные данные
4 4 1 4
1 2 0.9000000000
1 3 0.8000000000
2 4 0.7000000000
3 4 0.9500000000
Выходные данные
0.7600000000
Пример 2
Входные данные
3 2 1 3
1 2 0.5000000000
1 3 0.0000000000
Выходные данные
0.0000000000
Комментарии