传统题 2000ms 256MiB

双色通行证

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

题目描述

算法协会在一座有 nn 个房间的建筑中举办寻路游戏。房间编号为 11 到 nn,房间之间有 mm 条双向通道。每条通道的颜色为红色或蓝色,分别用 00 和 11 表示。

你拥有一张可以变色的通行证。通行证在任意时刻也是红色或蓝色。移动规则如下:

  1. 只有当通道的颜色与通行证的当前颜色相同时,才能通过这条通道。

  2. 每次通过一条通道后,通行证立即变为另一种颜色。

  3. 每次通过一条通道消耗 11 分钟。

游戏开始时,你位于房间 11,可以自由选择通行证的初始颜色。此后,通行证只能通过上述移动规则变色,停留不会使其变色。你可以重复经过房间和通道。

请计算从房间 11 到达房间 nn 至少需要多少分钟。到达房间 nn 时,通行证可以是任意颜色。如果无法到达,输出 −1-1。如果起点就是终点,则所需时间为 00。

输入格式

第一行包含一个整数 tt(1≤t≤1041\le t\le10^{4}),表示测试用例的数量。

对于每个测试用例:

  • 第一行包含两个整数 n,mn,m(1≤n≤2×1051\le n\le2\times10^{5},0≤m≤2×1050\le m\le2\times10^{5}),分别表示房间的数量和通道的数量。

  • 接下来 mm 行,每行包含三个整数 u,v,cu,v,c(1≤u,v≤n1\le u,v\le n,u≠vu\ne v,c∈{0,1}c\in\{0,1\}),表示房间 uu 和房间 vv 之间有一条颜色为 cc 的双向通道。

保证任意两个不同的房间之间至多有一条通道。所有测试用例的 nn 之和不超过 2×1052\times10^{5},mm 之和不超过 2×1052\times10^{5}。

输出格式

对于每个测试用例,输出一行一个整数,表示从房间 11 到达房间 nn 至少需要的分钟数。如果无法到达,输出 −1-1。

3
5 5
1 2 0
2 5 0
1 3 1
3 4 0
4 2 1
3 2
1 2 0
2 3 0
1 0
4
-1
0

样例解释

第一组测试用例中,选择蓝色作为通行证的初始颜色,可以沿路线

$$1\xrightarrow{1}3\xrightarrow{0}4\xrightarrow{1}2\xrightarrow{0}5$$

到达终点。箭头上方的数字表示通道颜色,总共需要 44 分钟。

路线 1→2→51\rightarrow2\rightarrow5 的两条通道均为红色。通过第一条通道后,通行证变为蓝色,无法立即通过第二条通道。

第二组测试用例中,两条通道均为红色,无法按照规则到达房间 33,答案为 −1-1。

第三组测试用例中,起点就是终点,答案为 00。

CWNU算协挑战赛 Round 2

未参加
状态
已结束
规则
XCPC
题目
7
开始于
2026-10-11 19:00
结束于
2026-10-11 21:30
持续时间
2.5 小时
主持人
参赛人数
38