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

Верифікація моделей

Верифікація моделей

Сергій працює над новим проектом по верифікації недетермінованих програмних моделей. Перша версія програми буде працюватиьзс ациклічними програмами. Ациклічна програма у вигляді, придатному для верифікації, подається у вигляді орієнтованого ациклічного зваженого графа, у якому є вершина \textbf{s}, з якої досяжні усі інші. Результатом верифікації ациклічної програми є верифікаційне дерево. \textit{Верифікаційним деревом} називається орієнтовне кореневе дерево з коренем у вершині \textbf{s}, по дугам якого можна дістатись з вершини \textbf{s} до довільної іншої вершини. Досліджуваною характеристикою верифікаційного дерева є його \textit{характеристика Бабенко-Копеліовича} (ХБК) - кількість одиниць у двійковому запису суми ваг дуг, з яких воно складається. Оскільки у ациклічній програмі може бути декілька верифікаційних дерев, Сернія цікавить середнє значення ХБК по усім зможливим верифікаційним деревам. \InputFile Перший рядок вхідного файлу містить два цілих числа \textbf{n} та \textbf{m} - кількість вершин та дуг графа, відповдно (\textbf{2} ≤ \textbf{n} ≤ \textbf{20}, \textbf{1} ≤ \textbf{m} ≤ \textbf{50}). Вершина \textbf{s} має номер \textbf{1}. Наступні \textbf{m} рядків містять по три цілих числа \textbf{a_i}, \textbf{b_i} та \textbf{c_i} - номер вершини, з якої виходить дуга, номер вершини, у яку вона входить та вага цієї дуги. Веги дуг невід'ємні і не перевищують \textbf{10^7}. У графі немає паралельних дуг. У графі немає циклів. \OutputFile Виведіть у вихідний файл одне дійсне число - середню кількість одиниць у двійковому запису васги верифікаційного дерева. Відповідь повинна відрізнятись від вірної не більше ніж на \textbf{10^\{-6\}}.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB