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。