만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

저항 회로

시간 제한1초메모리 제한64 MB

요약
직렬과 병렬로 중첩된 저항 회로를 나타내는 문자열이 주어지면 등가 저항을 계산합니다.
난이도

쉬움10점 중 3점

유형
스택, 수학
정답자
아직 제출이 없습니다

문제

미르코는 생일 선물로 "꼬마 물리학자" 키트를 받았다. 키트에는 저항 NN가지와 연결선, 저항계가 들어 있다. 종류가 ii인 저항의 저항값은 정확히 RiR_i 옴이다.

저항은 직렬과 병렬 두 가지 방식으로 연결한다. 저항으로 이루어진 회로 전체는 그 회로의 합성저항과 같은 값을 가지는 저항 하나로 바꿔 쓸 수 있다. 직렬 회로는 (R1-R2-R3-...-RK) 처럼 쓰고, 합성저항은 다음과 같다.

Req=R1+R2+R3+⋯+RKR_{eq} = R_1 + R_2 + R_3 + \dots + R_K

병렬 회로는 (R1|R2|R3|...|RK) 처럼 쓰고, 합성저항은 다음과 같다.

Req=11R1+1R2+1R3+⋯+1RKR_{eq} = \frac{1}{\dfrac{1}{R_1} + \dfrac{1}{R_2} + \dfrac{1}{R_3} + \dots + \dfrac{1}{R_K}}

미르코가 학교에 가져간 키트를 선생님이 발견했다. 선생님은 회로 하나를 만들어 놓고 합성저항이 얼마인지 묻고 있다. 미르코를 도와 답을 구하라.

입력

첫째 줄에 저항의 종류 수 NN이 주어진다. (1≤N≤91 \le N \le 9)

둘째 줄에 실수 RiR_i가 NN개 주어진다. (0<Ri<1000 < R_i < 100)

셋째 줄에 회로를 나타내는 문자열 SS가 주어진다. SS의 길이는 100,000자를 넘지 않고, 문자 R, 1부터 9까지의 숫자, (, ), -, |로만 이루어진다. 괄호 쌍의 개수는 최소이고, 괄호는 올바르게 짝지어져 있다. 한 괄호 쌍 안에 -와 |가 함께 나오지는 않는다. 회로는 키트에 있는 저항만 사용한다. 쓰이지 않는 종류가 있어도 되고, 같은 종류를 여러 번 써도 된다.

출력

첫째 줄에 회로의 합성저항을 소수점 아래 다섯째 자리까지 반올림해 출력한다. 소수점 아래 자릿수가 모자라면 0을 채워 항상 다섯 자리를 출력한다.

예제3

  1. 예제 1

    입력
    3
    2 3 6
    (R1-R2-R3)
    
    예상 출력
    11.00000
    
  2. 예제 2

    입력
    3
    2 3 6
    (R1|R2|R3)
    
    예상 출력
    1.00000
    
  3. 예제 3

    입력
    5
    5.0 5.0 5.0 5.0 5.0
    ((R1-(R2|R3)-(R4|R5))|(R1-(R2|R3)-(R4|R5)))
    
    예상 출력
    5.00000