P3617 电阻网络
题目背景
什么是电阻?这个大家应该都知道。什么是电路?大家也应该知道。但是本题当中,电路的定义或许有点不同:
电路都带有正、负极接点,正极在左,负极在右。具体地:电路分为以下几类:
单独的一个 $1\Omega$ 电阻(及其两端的接点)是电路(虽然导线也可以被视为 $0\Omega$ 的电阻,但是单独的导线不是电路)
如果 $A$ 和 $B$ 都是电路,设 $1,2,3$ 是从左到右的三个接点,那么将 $A$ 的正负极分别接在 $1$ 与 $2$ 上,将 $B$ 的正负极分别接在 $2$ 与 $3$ 上,那么 $1$ 到 $3$ 的部分是电路,其中 $1$ 为正极,$3$ 为负极。
如果A和B都是电路,设 $1,2,3,2',3',1'$ 是六个接点,其中 $1$ 在 $2$ 和 $3$ 的左侧,$2$ 在 $2'$ 的左侧,$3$ 在 $3'$ 的左侧,$2'$和 $3'$ 在 $1'$的左侧,并且 $1$ 与 $2$,$1'$ 与 $3'$,$2'$与 $1$,$3'$与$1'$间均连有导线, 那么将 $A$ 的正负极分别接在 $2$ 与 $2'$ 上,将 $B$ 的正负极分别接在 $3$ 与 $3'$ 上,那么 $1$ 到 $1'$ 的部分是电路,其中 $1$ 为正极,$1'$ 为负极。
现在给出一个电路,求它正负极之间的电阻。
题目描述
Cjwssb 最近在物理学科上遇到了难题,他不会计算一个电路中的总电阻,现在他找到了你,希望你能帮助他。
这个电路有如下限:
1. 电路只由导线以及电阻为一欧的电阻组成。
2. 保证电路从左到右连接,即每个电阻或导线的两个连接点 $x,y$,保证 $x
输入格式
第一行为两个正整数 $n,m$,分别代表接点数和电阻数。保证编号小的接点在编号大的接点的左侧。
接下来 $m$ 行,每行三个整数 $a_i,b_i,c_i$,代表这个电阻连接了 $a_i$ 与 $b_i$ 接点,其阻值为 $c_i$ ,其中 $c_i$ 只可能是 $0$ 或 $1$,且对于任意的 $i$,保证$a_i
输出格式
输出一个实数,表示总的电阻值,保留三位小数输出。
说明/提示
【样例解释】
画出图来,答案是显然的。
【数据规模与约定】
|得分占比|$n$|$m$|
|:-:|:-:|:-:|
|$20\%$|$n\le5$|$m\le5$|
|$50\%$|$n\le100$|$m\le120$|
|$70\%$|$n\le1000$|$m\le1200$|
|$100\%$|$n\le10^5$|$m\le1.2\times10^6$|
p.s.数据是在人工指定的 $n$ 下随机生成的,保证答案不会超过 $10\ 000$。
By:saffah。