徐老师的最短路
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
徐老师最近在复习最短路相关的算法——和
最短路相关的题目往往会给出 个节点,在这 个节点之间存在 条 单向边
其中第 条边可以用 描述,表示这条边从 号节点出发,到达 号节点,边权值为
最终题目会询问从 号点到达 号点的所有路径中,边权总和最小是多少。
但是徐老师觉得这样的最短路问题太老派了,于是他决定结合一下新的知识,出一个 融合题
于是徐老师决定,将每条边的边权修改为 字符串
例如徐老师如果依次经过边权分为别为 的边,那么这条路径的权值 即为 dis="aa"+"bb"+"ac"="aabbac"
现在徐老师想知道,对于给定的一个图,徐老师对于从 号节点出发到达 号节点的最短路提出了两个问题:
- 字典序最小的路径权值是多少?
- 长度最短的路径权值是多少?(如果存在多条长度最短的路径权值,则选择字典序最小的路径权值)
P.S. 对于两个字符串 ,我们称 的字典序比 小,当且仅当 满足 $s_1 = t_1, s_2 = t_2, \dots, s_{i-1} = t_{i-1}, s_i < t_i$。对于一个 ,定义 ,其中字符 小于任何其它字符。
输入格式
输入第一行包含两个整数 表示节点数量和边数
接下来 行,每行包含 个整数 和 个字符串 描述一条边的信息
特别的,保证输入的图一定无环,且输入的字符串中仅包含小写字母
输出格式
输出第一行包含一个字符串,表示第一个问题的答案
输出第二行包含一个字符串,表示第二个问题的答案
数据范围
| 测试点编号 | 特殊性质 | ||
|---|---|---|---|
数据随机生成
网格图(设网格图尺寸为 ,则网格图上每个节点 向 及 连边(若其存在)。之后,将每个坐标映射为一个节点,保证 处映射为节点 , 处映射为节点 。额外保证 )
对全部数据满足 :$1 \leq n \leq 10^5, n - 1 \leq m \leq 5 \times 10^5, |w_i| \leq 10^5, \sum |w_i| \leq 2 \times 10^6$。
样例输入
4 6
1 2 aa
1 3 b
1 4 c
2 3 d
2 4 dd
3 4 c
样例输出
aadc
c