[BOJ 14033] Artskjid

View as PDF

Submit solution

Points: 3
Time limit: 2.0s
Memory limit: 512M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

There are many well-known algorithms for finding the shortest route from one location to another. People have GPS devices in their cars and in their phones to show them the fastest way to get where they want to go. While on vacation, however, Troy likes to travel slowly. He would like to take the longest route to his destination so that he can visit many new and interesting places along the way.</p>

As such, a valid route consists of a sequence of distinct cities c1, c2, ..., ck, such that there is a road from ci to ci+1 for each 1 ≤ i < k.

He does not want to visit any city more than once. Can you help him find the longest route?

입력 형식

The first line of input contains two integers n, m, the total number of cities and the number of roads connecting the cities (2 ≤ n ≤ 18; 1 ≤ m ≤ n2 − n). There is at most one road from any given city to any other given city. Cities are numbered from 0 to n − 1, with 0 being Troy’s starting city, and n − 1 being his destination.</p>

The next m lines of input each contain three integers s, d, l. Each triple indicates that there is a one way road from city s to city d of length l km (0 ≤ s ≤ n − 1; 0 ≤ d ≤ n − 1; s ≠ d; 1 ≤ l ≤ 10000). Each road is one-way: it can only be taken from s to d, not vice versa. There is always at least one route from city 0 to city n − 1.

출력 형식

Output a single integer, the length of the longest route that starts in city 0, ends in city n − 1, and does not visit any city more than once. The length is the sum of the lengths of the roads taken along the route.

예제 입력

3 3
0 2 5
0 1 4
1 2 3

예제 출력

7

Comments

There are no comments at the moment.