SP2422 JAZZYJOB - Jazzy Job
题目描述
随着能源危机的日益加剧,化学家们决定重新研究各种化学物质的制备过程。
在这个项目中,他们列出了通常用作原材料的元素(初始反应物)以及希望获得的最终产物。同时,他们也准备了一份详细的已知化学反应和转化过程的列表,用于将一种物质转化为另一种物质。
一个主要问题是,许多反应启动时需要的能量过于庞大。他们希望在设计新流程时,将所需的活化能保持在较低水平。
了解这些情况后,他们试图找到制备目标物质的方法:
1. 在所有可能的路径中,确保任一反应所需的最大活化能不超过给定的上限值。
2. 在所有(初始反应物)→(最终产物)的路径中,尽可能减少化学反应或过程的总次数。
每种物质在接受特定能量后都会转化成另一种物质。对于一个特定的能量值,生成的物质是唯一的。每个生成目标物质(最终产物)的过程,只从某个源物质开始,并且不产生副产物。
你的任务是找出一个最小的上限值,使得所有的最终产物都能在这个上限值的条件下获得,并在这个条件下,计算出获得所有最终产物所需的最小转换次数。
**注意:** 所有过程默认是不可逆的,除非特别说明。如若过程可逆,其能量需求可能相同,亦可能不同。你可以假设初始反应物的供应是无限的。
输入格式
第一行输入一个整数 $t$,表示测试用例的数量。每个测试用例的第一行包含三个整数:初始反应物数量 $S$、最终产物数量 $D$ 和总元素数量 $N$。接下来的 $S+D$ 行中,前 $S$ 行给出初始反应物的 ID(从 0 开始),接下来的 $D$ 行给出最终产物的 ID(从 0 开始)。然后,输入一行包含一个整数 $R$,表示可能的化学反应数量。接下来的 $R$ 行中,每行包含三个整数:物质 $S$、转化后的物质 $C$ 和该化学反应所需的活化能 $A$。$0 \le S, C < N$。
输出格式
对于每个测试用例,在单独的一行中输出两个整数 $(a, b)$,用空格隔开,其中 $a$ 是最小的上限值,$b$ 是与 $a$ 相对应的最小转换次数。如果对于任何上限值不能获得所有的最终产物,输出一行 "Excessive Energy."。
说明/提示
- $1 \le t \le 10$
- $1 \le S, D \le 100$
- $1 \le N \le 1000$
- $1 \le R \le 10000$
- $0 \le A \le 10^9$
**本翻译由 AI 自动生成**