Обработка математики: 100%

printРабочее место участника

printЗадачи

1847. Формула Счастья

Ограничения: время – 500ms/1000ms, память – 2800KiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (1)

Как-то сумеречной порой знаменитый конструктор Трурль пришел к своему другу Клапауцию задумчивый и молчаливый. Когда же приятель попробовал развеселить его последними кибернетическими анекдотами, неожиданно отозвался:
- Напрасно хмурое расположение моего духа пытаешься ты обратить во фривольное! Меня снедает открытие столь же печальное, сколь несомненное: я понял, что, проведя всю жизнь в неустанных трудах, для Всеобщего Блага мы не сделали ничего! Представь себе только, каким изумительным монументом нашего с тобой конструкторства была бы сияющая где-то в небе планета, к которой премножество племен галактических с упованием возводили бы очи, восклицая: "Да! Поистине, счастье возможно, в виде неустанной гармонии, как доказал великий конструктор Трурль при некотором участии друга своего Клапауция, и свидетельство этого здравствует и процветает в пределах досягаемости нашего восхищенного взора!"
- Знаешь что, Трурль? Надо бы тебя заковать и засадить в погреб, чтобы дать время опомниться. Ведь если ты и создашь неведомо где счастливцев (в чем я сомневаюсь), по-прежнему останутся создания гадкие и жестокие, и разгорится такая зависть, такие пойдут раздоры и склоки, что ты окажешься перед выбором не слишком приятным: либо твои счастливцы уступят завистникам, либо придется им этих докучных, настырных и дефективных перебить до единого – ради полной гармонии.
Трурль в бешенстве вскочил, но опомнился и разжал кулаки.
- Прощай, Фома неверующий! – заявил он холодно. – Не словами я отвечу тебе, но делом!
Воротившись домой, Трурль принялся за сочинение Формулы Счастья. За один гед (единицу счастья) он принял интенсивность блаженства путника, который с гвоздем в ботинке протопал четыре мили, а после гвоздь вынул. Путь конструктор помножил на время, поделил на колючесть гвоздя, вынес за скобки коэффициент натертости пятки и таким образом выразил счастье в системе сантиметр-грамм-секунда. Это приободрило его. Он вычислил значение Формулы еще в нескольких точках и решил изобразить их на графике.
Напишите программу, которая позволяет нарисовать график зависимости y от x по ее табличному представлению. График нужно изобразить с помощью символов '|' (вертикальная черта) для изображения оси Y, '-' (минус) для изображения оси X, '+' (плюс) для изображения пересечения оси X и оси Y, '*' (звездочка) для изображения точек зависимости и '.' (точка) для незаполненных участков. Ось X на графике направлена вправо, а ось Y – вверх. Один символ на графике соответствует единице по оси X по горизонтали и единице по оси Y по вертикали. Оси X и Y обязательно должны присутствовать на графике, но они могут оказаться полностью закрыты символами '*'.
Формат ввода
Во входном файле в первой строке содержится целое число N (1  N  1000) – количество известных значений переменной y. Далее следует N строк с двумя целыми числами xi и yi (-1000  xi  1000, -1000  yi  1000, i=1N), разделенными пробелом – значения Формулы в зависимости от параметра x. Трурль мог вычислять значения Формулы для одного x несколько раз и получить при этом разные результаты.
Формат вывода
В выходной файл вывести одну или более строк. Первая строка соответствует максимальному значению y (или 0), а последняя – минимальному значению y (или 0). Во всех строках содержится одинаковое количество символов, необходимое и достаточное для изображения всех вычисленных значений и оси Y. Первый символ строки соответствует минимальному значению x (или 0), а последний – максимальному значению x (или 0). В позиции, соответствующей оси X, выводится символ '-', в позиции, соответствующей оси Y, – символ '|', на пересечении осей – символ '+', а в позициях, соответствующем точкам (xi, yi) – символ '*'. В остальных позициях выводится символ '.'.

Пример ввода

8
-10 5
-7 3
-4 2
-9 4
0 1
6 -1
3 0
8 -3

Вывод для примера

*.........|........
.*........|........
...*......|........
......*...|........
..........*........
----------+--*-----
..........|.....*..
..........|........
..........|.......*
loading