P2936 [USACO09JAN] Total Flow S

题目描述

**请注意,题面中并没有说明水管是单向的还是双向的(虽然应该是双向的)。数据保证无论将水管视作单向还是双向得到的结果相同。** 农夫约翰总是希望他的奶牛有足够的水,因此他绘制了一张农场上连接水井和谷仓的 $N(1 \leq N \leq 700$)根水管的地图。他惊讶地发现这些不同尺寸的水管连接得杂乱无章。他想计算水管的流量。 两个串联的水管允许的水流量是两个水管流量值中的最小值。例如,一个流量为 $5$ 的水管连接到一个流量为 $3$ 的水管,可以逻辑上简化为一个流量为 $3$ 的水管: ```plain +---5---+---3---+ -> +---3---+ ``` 类似地,并联的水管允许的水流量是它们流量的总和: ```plain +---5---+ ---+ +--- -> +---8---+ +---3---+ ``` 最后,一个没有连接到其他任何东西的水管可以被移除,它对最终的总流量没有贡献: ```plain +---5---+ ---+ -> +---3---+ +---3---+-- ``` 管道网络中的所有水管都可以使用这些方法简化为一个总流量。 给定一张水管的地图,确定从水井 $A$ 到谷仓 $Z$ 的流量。 考虑这个节点名称用字母标记的例子: ```plain +-----------6-----------+ A+---3---+B +Z +---3---+---5---+---4---+ C D ``` 管道 $BC$ 和 $CD$ 可以合并: ```plain +-----------6-----------+ A+---3---+B +Z +-----3-----+-----4-----+ D ``` 然后 $BD$ 和 $DZ$ 可以合并: ```plain +-----------6-----------+ A+---3---+B +Z +-----------3-----------+ ``` 然后 $BZ$ 的两条路径可以合并: ```plain B A+---3---+---9---+Z ``` 最后,$AB$ 和 $BZ$ 可以合并,得到净流量为 $3$: ```plain A+---3---+Z ``` 编写一个程序读取描述为两个端点的水管集合,然后计算从 $A$ 到 $Z$ 的净流量。测试数据中的所有网络都可以使用这里的规则简化。 管道 i 连接两个不同的节点 $a_i$ 和 $b_i$(节点范围均为 $a-z、A-Z$),流量为 $F_i$($1 \leq F_i \leq 1,000$)。注意,小写和大写的节点名称应视为不同。 形式化题意:求出 $A$ 到 $Z$ 的最大流。

输入格式

第 $1$ 行:一个整数:$N$ 第 $2$ 行到第 $N+1$ 行:第 $i+1$ 行描述第 $i$ 根水管,包含两个字母和一个整数,均以空格分隔:$a_i$,$b_i$ 和 $F_i$。

输出格式

第 $1$ 行:一个整数,表示从水井 $A$ 到谷仓 $Z$ 的最大流量。

说明/提示

@[langmouren](luogu://user/1470994) 提供翻译