#P15261. [USACO26JAN2] Lexicographically Smallest Path G
[USACO26JAN2] Lexicographically Smallest Path G
说明
Bessie 拿到一个无向图,该图包含 ()个编号为 的顶点和 条边()。每条边由两个整数 ()和一个小写英语字母 (范围 a..z)描述,分别表示结点 和 之间的一条无向边以及该边上的值。给定的图保证是连通的。图中可能存在重边或自环。
定义 为从结点 开始到结点 结束的所有路径中,边值连接形成的字符串中字典序最小的那个。一条路径可以多次包含同一条边(即允许环)。
对于每个 (),帮助 Bessie 确定 的长度。如果该长度有限,则输出该长度;否则输出 。
输入格式
第一行包含 (),表示独立测试用例的数量。每个测试用例的格式如下:
- 第一行包含 和 。
- 接下来的 行,每行包含两个整数和一个小写英语字母。
保证所有测试用例的 之和以及 之和均不超过 。
输出格式
对于每个测试用例,在新的一行输出 个由空格分隔的整数。
2
1 0
2 2
1 1 a
2 1 b
0
0 -1
2
7 7
1 2 a
1 3 a
2 4 b
3 5 a
5 6 a
6 7 a
7 4 a
4 3
1 2 z
2 3 x
3 4 y
0 1 1 5 2 3 4
0 1 2 -1
提示
样例 1 解释
对于第一个测试用例,结点 1 可以通过空路径到达,因此答案为 0。在第二个测试用例中,结点 2 不存在字典序最小的路径,因为农夫约翰可以在移动到结点 2 之前重复 'a' 自环任意多次,从而产生任意长但仍为字典序最小的字符串。因此,结点 2 的答案为 -1。
样例 2 解释
对于第一个测试用例,结点 1 的距离为 0。结点 2 和结点 3 与结点 1 相邻,距离为 1。对于结点 4、5、6 和 7,可以证明字典序最短的路径不经过结点 2 和结点 4 之间的边。
对于第二个测试用例,结点 4 同样没有字典序最小的路径,因为字符串可以在保持字典序最小的同时无限延长。因此,其答案为 -1。
评分
- 输入 3-4:每条边上的字符均为 a。
- 输入 5-8:每条边上的字符为 a 或 b。
- 输入 9-14:
- 输入 15-22:无额外约束。
翻译由 DeepSeek 完成
京公网安备 11011102002149号