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

Адмирал

Адмирал

\textit{Михаил Адриансзон де Рюйтер} - наиболее известный адмирал в истории Дании, хорошо известный в англо-датской войне \textbf{17} века. Де Рюйтер лично командовал флагманом и давал команды союзным военным кораблям во время морских сражений. Во времена де Рюйтера теория графов как раз только появлялась, и адмирал использовал все ее преимущества при планировании морских сражений. Путевые точки в море отображаются вершинами, возможные переходы между ними представляются направленными ребрами. Для любых двух путевых точек \textbf{W_1} и \textbf{W_2} существует не более одного перехода \textbf{W_\{1 \}}→ \textbf{W_2}. На каждом ориентированном ребре записано количество пушечных ядер, которое следует выпустить для безопасного провода корабля по соответствующему переходу, потопив корабли противника на пути. Одной из наиболее удачных тактик де Рюйтера был маневр де Рюйтера. Два военных корабля выходили из одной точки, разделялись и пробивались сквозь вражеский флот, соединяясь в пункте назначения. Маневр подразумевает движение двух кораблей по двум различным маршрутам, которые не пересекаются ни в путевых точках (кроме начальной и конечной), ни по одному из переходов во время сражения. Будучи датчанином, адмирал де Рюйтер не любил тратить деньги; в морской войне \textbf{17} века это означало использовать как можно меньше дорогих пушечных ядер. \includegraphics{https://static.e-olymp.com/content/5e/5e5cbe27e5a571d24584606f49f09959e3046d8f.jpg} Рисунок \textbf{1}: Конкретный пример тактики де Рюйтера, визуализированной в виде графа. Два корабля (‘красный’ и ‘синий’) движутся из общей начальной точки (\textbf{1}) к общей конечной точке (\textbf{6}). Путь красного корабля \textbf{1 }→ \textbf{3 }→ \textbf{6 }(по пути следует выстрелить \textbf{33} ядра); путь синего корабля \textbf{1 }→ \textbf{2 }→ \textbf{5 }→ \textbf{4 }→ \textbf{6 }(по пути следует выстрелить \textbf{53} ядра). Всего при маневре следует выпустить \textbf{86} ядер. Кроме начальной и конечной точки никакая вершина и никакое ребро не посещены обоими кораблями. \InputFile Каждый тест состоит из: \begin{itemize} \item строки из двух целых чисел \textbf{v }(\textbf{3 }≤ \textbf{v }≤ \textbf{1000}) и \textbf{e }(\textbf{3 }≤ \textbf{e }≤ \textbf{10000}) - количества путевых точек и переходов. \item далее следуют \textbf{e }строк: для каждого перехода строка содержит три целых числа: \end{itemize} \begin{enumerate} \item \textbf{a_i} (\textbf{1 }≤ \textbf{a_i} ≤ \textbf{v}) - начальная точка перехода; \item \textbf{b_i} (\textbf{1 }≤ \textbf{b_i} ≤ \textbf{v}) и (\textbf{a_i} ≠ \textbf{b_i}) - конечная точка перехода. Все переходы являются направленными; \item \textbf{c_i} (\textbf{1 }≤ \textbf{c_i} ≤ \textbf{100}) - количество пушечных ядер, которое должно быть выпущено при движении по переходу. \end{enumerate} Начальная точка движения \textbf{1}, конечная точка \textbf{v}. Всегда существует как минимум два различных пути между точками \textbf{1 }и \textbf{v}. \OutputFile Для каждого теста вывести наименьшее общее количество ядер, которое следует использовать для того чтобы оба корабля добрались до конечной точки маневра.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
6 11
1 2 23
1 3 12
1 4 99
2 5 17
2 6 73
3 5 3
3 6 21
4 6 8
5 2 33
5 4 5
6 5 20
Вихідні дані #1
86
Джерело 2012 Northwestern European Regional Programming Contest (NWERC), Задача A