Страница: 1 [Всего задач: 2]
[Сопротивление
]
|
|
Сложность: 3+ |
Задана электрическая схема из некоторого количества узлов и N резисторов, их
соединяющих. Напишите программу, вычисляющую сопротивление между
двумя заданными узлами A и B этой схемы. Допускается частичное решение
задачи для случая параллельно-последовательных схем.
Пояснения для тех, кто плохо учил в школе физику:
1. Сила тока равна напряжению, поделенному на сопротивление: I = U
/
R.
2. Сумма токов, втекающих в узел, равна сумме токов, вытекающих из него.
3. Сумма падений напряжений I · R на отдельных участках произвольного
замкнутого контура равна сумме всех ЭДС в этом контуре.
Как следствие, получаем следующие формулы:
1. При последовательном соединении резисторов с сопротивлениями R1
и R2 общее сопротивление R вычисляется по формуле R = R1
+
R2;
2. При параллельном соединении резисторов с сопротивлениями R1
и R2
общее сопротивление R вычисляется по формуле 1
/
R = 1
/
R1
+
1
/
R2.
Входные данные
В первой строке входного файла содержится целое число N – количество
резисторов в схеме (1 ≤ N ≤ 50). Во второй строке записаны номера узлов A и B
(узлы нумеруются начиная с 1). Каждая из следующих N строк содержит
описание очередного резистора в виде тройки целых чисел из диапазона
[0, 32767], записанных через пробел. Первые два числа задают номера двух
различных узлов схемы, которые этот резистор соединяет, а третье – его
сопротивление. Между двумя узлами схемы могут располагаться несколько
резисторов.
Выходные данные
Выведите в выходной файл искомое сопротивление не менее чем с 6 верными
значащими цифрами.
Пример входного файла
4
1 2
1 3 1
3 4 1
4 3 1
2 4 1
Пример выходного файла
2.50
Та же задача, если требуется, чтобы число операций было
пропорционально
log
n. (Переменные должны быть
целочисленными.)
Страница: 1 [Всего задач: 2]