100 atcoder#ARC061C. [ARC061E] すぬけ君の地下鉄旅行
[ARC061E] すぬけ君の地下鉄旅行
Score : points
Problem Statement
Snuke's town has a subway system, consisting of stations and railway lines. The stations are numbered through . Each line is operated by a company. Each company has an identification number.
The -th ( ) line connects station and bidirectionally. There is no intermediate station. This line is operated by company .
You can change trains at a station where multiple lines are available.
The fare system used in this subway system is a bit strange. When a passenger only uses lines that are operated by the same company, the fare is yen (the currency of Japan). Whenever a passenger changes to a line that is operated by a different company from the current line, the passenger is charged an additional fare of yen. In a case where a passenger who changed from some company A's line to another company's line changes to company A's line again, the additional fare is incurred again.
Snuke is now at station and wants to travel to station by subway. Find the minimum required fare.
Constraints
Input
The input is given from Standard Input in the following format:
:
Output
Print the minimum required fare. If it is impossible to get to station by subway, print -1
instead.
3 3
1 2 1
2 3 1
3 1 2
1
Use company 's lines: → → . The fare is yen.
8 11
1 3 1
1 4 2
2 3 1
2 5 1
3 4 3
3 6 3
3 7 3
4 8 4
5 6 1
6 7 5
7 8 5
2
First, use company 's lines: → → → → . Then, use company 's lines: → → . The fare is yen.
2 0
-1