#4620. 考古遗址的文物拼接

考古遗址的文物拼接

题目背景

在一处古老的文明遗址中,考古队发掘出大量破碎的文物残片。每块残片都拥有独特的边缘形状与特定的文化价值。为了还原文物的历史风貌,考古队需要制定一套最优的拼接方案。

题目描述

给定一块起始残片NN候选残片,每块残片均包含起始边缘代码、结束边缘代码以及对应的文化价值。拼接规则如下:

  1. 形状匹配:后一块残片的“起始边缘代码”必须与前一块残片的“结束边缘代码”完全一致。
  2. 唯一性:每块候选残片最多只能使用一次。
  3. 不可逆性:拼接过程是单向的,只能按照给定的起始到结束方向进行连接。
  4. 价值计算:总价值等于所有参与拼接的残片(包含起始残片)的价值之和。

你的任务是规划出一条拼接路径,使得最终获得的总文化价值最高

输入格式

  1. 第一行包含一个字符串和一个整数,分别表示起始残片的结束边缘形状代码(长度不超过8位)和其文化价值。
  2. 第二行包含一个整数 NN1N501 \leq N \leq 50),表示候选残片的数量。
  3. 接下来的 NN 行,每行包含两个字符串和一个整数,格式为 起始边缘代码 结束边缘代码 分值,描述一块候选残片的信息。

输出格式

输出一个整数,表示能获得的最高累计文化价值(必须包含起始残片的分值。若无法拼接任何候选残片,则仅输出起始残片的分值)。

样例输入

X01 20
4
X01 Y02 20
Y02 Z03 15
A01 B02 10
Z03 C04 25

样例输出

80

样例说明

最优拼接顺序如下:

  1. 起始残片(结束代码 X01,价值 20)
  2. 拼接候选残片 X01 Y02 20(匹配 X01,当前总价值 40)
  3. 拼接候选残片 Y02 Z03 15(匹配 Y02,当前总价值 55)
  4. 拼接候选残片 Z03 C04 25(匹配 Z03,当前总价值 80)

最终总价值为 20+20+15+25=8020 + 20 + 15 + 25 = 80