#P16319. [ICPC 2023 Jinan R] 铁路环游
[ICPC 2023 Jinan R] 铁路环游
题目描述
《铁路环游》是一款以铁路为主题的德式桌游。在游戏中,玩家需要打出火车卡并在地图上建造铁路。建造出的铁路长度以及玩家是否能连通较远的城市决定了得分,其中需要连通的城市由抽取的车票卡决定。
:::align{center}

BoardGameGeek 用户 @garyjames 拍摄的照片 :::
考虑游戏的一维版本。有 座城市排成一行,从左到右编号从 到 。对于每个 ,您可以在城市 与城市 之间放置一条铁路以连通它们。
有 张车票卡用于奖励玩家连通城市的行为。第 张卡可以记为三个整数 , 和 ,表示如果城市 与 可以通过铁路连通(也就是说,对于所有 ,城市 和 之间都有一条铁路),您将获得 分。
对于每个 ,计算您恰好放置了 条铁路的最大得分。如果没有获得任何奖励,您的得分为 。
输入格式
有多组测试数据。第一行输入一个整数 表示测试数据组数,对于每组测试数据:
第一行输入两个整数 和 ()表示您可以放置铁路的最大数量以及用于奖励的车票卡数量。
对于接下来 行,第 行输入三个整数 , 和 (,)表示如果城市 与 可以通过铁路连通,您将获得 分。
保证所有数据 之和与 之和均不超过 。
输出格式
每组数据输出一行 个由单个空格分隔的整数,其中第 个整数表示您恰好放置了 条铁路的最大得分。
请不要在行末输出多余空格,否则您的答案可能会被认为是错误的!
2
4 3
0 2 3
3 4 2
0 3 1
3 1
1 3 100
2 3 5 6
0 100 100
提示
令 表示一条位于城市 和 之间的铁路。对于第一组样例数据:
- 如果您放置 条铁路,您可以放置 ,然后获得第二个奖励。答案是 。
- 如果您放置 条铁路,您可以放置 和 ,然后获得第一个奖励。答案是 。
- 如果您放置 条铁路,您可以放置 , 和 ,然后获得第一和第二个奖励。答案是 。
- 如果您放置了所有 条铁路,可以获得所有奖励。答案是 。