전자 회로에서 흔히 쓰이는 부품 중 하나가 저항(resistor)이다. 저항은 두 개의 단자를 가지며, 전류가 흐르면 그 일부가 열로 바뀌어 전류의 흐름을 "방해"한다. 방해하는 정도는 하나의 양의 실수로 표현되며 이를 저항의 저항값이라 하고, 단위는 옴(Ohm)이다.
두 저항을 직렬(series)로 연결하면 합성 저항은 각 저항값의 합과 같다. 예를 들어 100 옴 저항과 200 옴 저항을 직렬로 연결하면 합성 저항은 300 옴이 된다. 세 개 이상을 직렬로 연결해도 마찬가지로 모든 저항값의 합이 된다.
여러 저항을 병렬(parallel)로 연결하면 합성 저항 $R$은 다음을 만족한다.
$$\frac{1}{R} = \frac{1}{R_1} + \frac{1}{R_2} + \cdots$$
예를 들어 100 옴과 150 옴 저항을 병렬로 연결하면 $\frac{1}{\frac{1}{100} + \frac{1}{150}} = 60$ 옴이 되고, 100 옴, 150 옴, 300 옴 저항을 병렬로 연결하면 $\frac{1}{\frac{1}{100} + \frac{1}{150} + \frac{1}{300}} = 50$ 옴이 된다.
저항들과 그 연결 관계에 대한 설명이 하나 이상 주어진다. 각 연결점(저항의 단자)은 서로 다른 양의 정수 라벨로 구분된다. 각 저항은 두 단자의 라벨과 저항값(실수)으로 표현된다. 예를 들어
1 2 100
은 점 1과 점 2 사이에 100 옴 저항이 연결되어 있음을 뜻한다. 직렬로 연결된 두 저항은 다음과 같이 표현할 수 있고,
1 2 100
2 3 200
(점 1과 2 사이에 100 옴, 점 2와 3 사이에 200 옴), 병렬로 연결된 두 저항은 다음과 같이 표현할 수 있다.
1 2 100
1 2 150
연결 관계와 각 저항값이 주어질 때, 위 규칙을 이용하여 지정된 두 점 사이의 합성 저항을 구하여라. 이 문제의 모든 회로는 직렬·병렬 규칙을 반복 적용하여 풀 수 있다.
입력은 하나 이상의 케이스로 이루어진다. 각 케이스는 세 정수 $N$, $A$, $B$가 적힌 줄로 시작한다. $A$와 $B$는 합성 저항을 구할 두 점의 라벨이고, $N$은 저항의 개수로 $N \le 30$이다. 마지막 케이스 다음 줄에는 0 0 0이 주어지며 이 줄은 처리하지 않는다. N A B 줄 다음에는 $N$개의 줄이 이어지고, 각 줄에는 한 저항이 연결된 두 단자의 라벨과 그 저항값(실수)이 주어진다.
각 케이스마다 케이스 번호(1부터 순서대로 매긴다)와 소수점 아래 둘째 자리까지 반올림한 합성 저항을 다음 형식으로 한 줄에 출력한다.
Case k: R Ohms