问题 1462. -- 电路串并联

1462: 电路串并联

时间限制:1000 ms 内存限制:128 MB Special Judge
提交:76 解决:30
[ 提交][ 状态][ 讨论版]

题目描述

# 电阻串并联


## Description


有一个电路上面有很多电阻,用导线连接在一起初中的物理知识告诉我们,


- 当R1,R2...Rn串联时,总电阻等于$ R1+R2+...Rn $


- 当R1,R2...Rn并联时,总电阻等于$ \frac{1}{\cfrac{1}{R1}+\cfrac{1}{R2}+...+\cfrac{1}{Rn}} $



现在给你一个字符串表示一个电路中的电阻的串并联情况,以及每个电阻的阻值,请计算出这个电阻的总阻值

## simple input



## simple output


输入

一组数据,一行字符串,字符串的长度不超过10000


字符串中包含以下字符,


- 1\~9组成的数字,分别代表电阻值为1~9的电阻


- “\*”表示并联,如 “1\* 2" ,就表示一个阻值为1的电阻和2的电阻并联


- “+”表示串联,如”1+2“ 就表示一个阻值为1的电阻和一个阻值为2的电阻串联


- 当然电路中会有混联的情况,为了解决混联的请情况,我们引入“()"来表示串并联的优先级,比如:”(1+1)*2"就代表两个阻值为1的电阻先串联,然后和一个阻值为2的电阻并联


- 括号的优先级最高,嵌套情况下,里层的括号优先级最高,其他括号以此往外类推


- 默认在同级情况下,并联符号的优先级大于串联符号,比如"1\*2\*3\*4+9",我们需要先计算出1\~4的并联,然后再和9串联


- 以上,符合条件的字符串满足以下条件:


- 不同括号之间必须有说明连接方式的字符

- 如果出现 "(1)(1)"这样两个已连接的电路之间没有说明关系,则这个字符串**非法**

输出

如果字符串非法,输出 ”WA!WA!WA!“


如果字符串合法,如果有结果,请输出一个小数,表示电路的总阻值,因为结果会是小数,所以最终答案和标准答案的差的绝对值不超过1e-4视作通过

样例输入

(1+1)*(4)

样例输出

1.3333333333

提示

来源

[ 提交][ 状态][ 讨论版]
Baidu
map