Программа курса:
Внимание! Решать задачи может только авторизованный
пользователь. Пройдите регистрацию на сайте.
Задача 5: Оценивайте деление
Напишите определение функции calcEquation(equations, values, queries), которая принимает:
equations: список пар строк, представляющих уравнения;values: список вещественных чисел, представляющих значения делений;queries: список пар строк, представляющих запросы.
Функция должна возвращать список вещественных чисел, представляющих результаты делений для каждого запроса. Если результат для какого-либо запроса невозможно определить, необходимо вернуть -1.0.
Пример 1
Ввод:
equations = [["a","b"],["b","c"]]
values = [2.0, 3.0]
queries = [["a","c"],["b","a"],["a","e"],["a","a"],["x","x"]]
Вывод:
[6.0, 0.5, -1.0, 1.0, -1.0]
Объяснение:
- Дано:
a / b = 2.0,b / c = 3.0. - Запросы:
a / c = 2.0 * 3.0 = 6.0b / a = 1 / 2.0 = 0.5a / e→-1.0(переменнаяeнеизвестна)a / a = 1.0(любая переменная делится на себя как1.0)x / x→-1.0(переменнаяxнеизвестна).
Пример 2
Ввод:
equations = [["a","b"],["b","c"],["bc","cd"]]
values = [1.5, 2.5, 5.0]
queries = [["a","c"],["c","b"],["bc","cd"],["cd","bc"]]
Вывод:
[3.75, 0.4, 5.0, 0.2]
Объяснение:
- Дано:
a / b = 1.5b / c = 2.5bc / cd = 5.0.
- Запросы:
a / c = 1.5 * 2.5 = 3.75.c / b = 1 / (b / c) = 1 / 2.5 = 0.4.bc / cd = 5.0.cd / bc = 1 / (bc / cd) = 1 / 5.0 = 0.2.
Пример 3
Ввод:
equations = [["a","b"]]
values = [0.5]
queries = [["a","b"],["b","a"],["a","c"],["x","y"]]
Вывод:
[0.5, 2.0, -1.0, -1.0]
Объяснение:
- Дано:
a / b = 0.5. - Запросы:
a / b = 0.5.b / a = 1 / 0.5 = 2.0.a / c→-1.0(переменнаяcнеизвестна).x / y→-1.0(переменныеxиyнеизвестны).
Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии