#3924. 最小花费

最小花费

题目描述

nn 个人中,某些人的银行账号之间可以互相转账。不同的转账关系需要扣除不同比例的手续费(从转账金额中扣除 z%z\%,即到账金额为转账金额的 (100z)%(100 - z)\%)。

给定这些转账关系,请问 AA 最少需要准备多少钱,才能使得经过若干次转账后,BB 最终收到 100 元

输入格式

第一行包含两个正整数 n,mn, m,分别表示总人数和可以互相转账的关系对数。

接下来 mm 行,每行包含三个正整数 x,y,zx, y, z,表示标号为 xx 的人和标号为 yy 的人之间互相转账需要扣除 z%z\% 的手续费(0<z<1000 < z < 100)。

最后一行包含两个正整数 A,BA, B,表示起点和终点。数据保证 AABB 之间可以直接或间接地转账。

输出格式

输出一行一个实数,表示 AA 最少需要准备的总金额,结果精确到小数点后 88 位。

样例

3 3
1 2 1
2 3 2
1 3 3
1 3
103.07153164

样例解释
路径 131 \to 3 直接转账扣除 3%3\% 手续费,到账比例为 97%97\%,所需初始金额为 100/0.97103.09278350100 / 0.97 \approx 103.09278350
路径 1231 \to 2 \to 3,到账比例依次为 99%99\%98%98\%,总到账比例为 0.99×0.98=0.97020.99 \times 0.98 = 0.9702,所需初始金额为 100/0.9702103.07153164100 / 0.9702 \approx 103.07153164,更优。
故输出 103.07153164103.07153164

数据范围

  • 1n20001 \le n \le 2000
  • 1m1000001 \le m \le 100000
  • 0<z<1000 < z < 100
  • 1A,Bn1 \le A, B \le n,且 ABA \neq B,数据保证 AABB 连通。