luogu#P3617. 电阻网络

电阻网络

题目背景

什么是电阻?这个大家应该都知道。什么是电路?大家也应该知道。但是本题当中,电路的定义或许有点不同:

电路都带有正、负极接点,正极在左,负极在右。具体地:电路分为以下几类:

单独的一个1Ω电阻(及其两端的接点)是电路(虽然导线也可以被视为0Ω的电阻,但是单独的导线不是电路)

如果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、 保证电路从左到右连接,即每个电阻或导线的两个连接点xy保证x<y

3、 保证接线柱1为电源正极,接线柱n为电源负极

4、 保证每个接线柱只会被串联或者并联两个分支电路或者不接任何电线或电阻

输入格式

第一行为两个正整数n,m,分别代表接点数和电阻数。保证编号小的接点在编号大的接点的左侧。

接下来m行,每行三个整数ai,bi,ci,代表这个电阻连接了ai与bi接点,其阻值为ci ,其中ci只可能是0或1,且对于任意的i,保证ai<bi。

输出格式

输出一个实数,表示总的电阻值,保留三位小数输出。

7 7
1 2 0
1 3 0
2 4 1
3 5 1
4 6 0
5 6 0
6 7 1

1.500

提示

样例解释

画出图来,答案是显然的。

数据规模与约定

对于20%的数据n≤5,m≤5。

对于50%的数据n≤100,m≤120。

对于70%的数据n≤1,000,m≤1200。

对于100%的数据n≤100,000,m≤120000

数据是在人工指定的n下随机生成的,保证答案不会超过10.000。

By:saffah