传统题 2000ms 256MiB

传送门

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

在艾泽拉大陆上,有nn个被遗忘的遗迹。

冒险者小SS得知,在编号为 nn 的遗迹中藏有传说中的宝藏,因此他决定从11号遗迹出发,前往nn号遗迹。

大陆上有mm个传送门,每个传送门连接两个遗迹,并且可以双向通行。每个传送门属于一个魔法协会。

SS可以向魔法协会支付一枚金币,使用该协会的传送门进行传送。在连续的传送中,若小SS使用的都是同一个协会的传送门,则只需要支付一枚金币。若小SS使用另一个协会的传送门,则需要重新支付一枚金币。

例如:小SS通过AA协会传送门到达某个遗迹,然后使用BB协会传送门前往下一个遗迹,则小SS需要向BB协会支付一枚金币,若小S之后想重新使用AA协会传送门,则还需向AA协会支付金币。

请帮助小SS设计一条传送路线,使得他从11号遗迹到nn号遗迹需要支付的金币数量最少,并输出这个最小金币数。保证可以从1号遗迹到nn号遗迹。

输入格式

第一行输入一个整数 TT1T101 \le T \le 10),表示测试的总数。

第二行包含两个整数 nnmm ,(1n1000001 \le n \le 1000001m2000001 \le m \le 200000) 表示遗迹数量和传送门数量。

接下来 mm 行,每行三个整数 u,v,cu, v, c ,(1u,vn1 \le u, v \le n, 1c10000001 \le c \le 1000000) 表示遗迹 uuvv 之间有一个协会 cc 的传送门。

保证样例中 n200000m400000\sum n \leq 200000,\sum m \leq 400000

输出格式

每行输出一个整数,表示最小金币数。

1
4 3
1 2 1
2 3 3
3 4 1
3

2025 “钉耙编程”中国大学生算法设计暑期联赛(1)

未参加
状态
已结束
规则
XCPC
题目
12
开始于
2025-7-18 12:00
结束于
2025-7-18 17:00
持续时间
5 小时
主持人
参赛人数
0