Композиция
(Время: 2 сек. Память: 16 Мб Сложность: 66%)
Тони пишет программное обеспечение для бирж. Одна из компонент, которой он занимается, должна будет отображать графики рисков и доходности различных финансовых инструментов. В качестве одной из подзадач у него возникла задача построения композиции двух непрерывных кусочно-линейных функций.
Даны две функции: f (x) и g(x), требуется найти представление функции g(f(x)) в виде кусочно-линейной функции.
Входные данные
Входной файл INPUT.TXT содержит два блока, один описывает функцию f, а другой функцию g. Каждый блок начинается с числа l – количества интервалов, на которых соответствующая функция является линейной. (1 ≤ l ≤ 1000, l ≠ 2).
Если l > 2, то следующие l−1 строка содержат точки излома функции. Каждая строка содержит два целых числа: xi, yi (i от 1 до l−1, xi < xi+1). Функция a(x), описываемая блоком, имеет следующий вид:
Здесь ki = (yi+1 − yi)/(xi+1 − xi).
Если же l = 1, то следующая строка содержит одно целое число y, описываемая функция имеет вид a(x) = y.
Все координаты во входном файле не превосходят 109 по модулю.
Выходные данные
В выходной файл OUTPUT.TXT выведите функцию g(f(x)) в том же формате, что и функции, заданные во входном файле. Количество интервалов, на которые разбивается график функции, должно быть минимальным. Гарантируется, что для описания функции потребуется не более 105 интервалов. Выводите вещественные числа с точностью не менее 10−8.
Пример
№ | INPUT.TXT | OUTPUT.TXT |
1 | 3
0 0
2 3
4
0 0
1 3
2 0 | 4
0 0
0.666666666667 3
1.333333333333 0 |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|