Дальнобойный лазер, установленный на борту боевого космического
корабля «Рикенбакер», успешно уничтожил пусковые установки
на поверхности враждебной планеты Оркут.
Не прошло и галактических суток, как раса шодан
сдалась.
Капитан корабля «Рикенбакер» рассчитывал на повышение в звании.
Его завистники же старались убедить высшее командование в том, что
капитан лжёт — никому не под силу так быстро и успешно сориентироваться
в ситуации и поразить так много целей во время орбитальной атаки.
Капитан понял, что ему предстоит защитить свою честь и подготовить
подробный доклад о проведённой операции. Для начала он решил
изобразить все уничтоженные установки на одном графике.
С системой наведения лазера связана прямоугольная декартова система
координат. Все координаты уничтоженных установок являются в
этой системе координат целыми. Оси координат необходимо изобразить
с помощью символов «|» (вертикальная черта, для изображения оси ординат),
«-» (минус, для изображения оси абсцисс), «+» (плюс, для изображения
начала координат). Точки, в которых находились уничтоженные установки,
нужно изобразить символом «*» (звёздочка). Все остальные точки
нужно изобразить символом «.» (точка).
Ось абсцисс на графике должна быть направлена вправо, а ось ординат — вверх.
Один символ на графике соответствует единице по оси
абсцисс по горизонтали и единице по оси ординат по вертикали.
Оси координат обязательно должны присутствовать на графике, но они могут
оказаться полностью закрыты символами «*».
Исходные данные
В первой строке записано целое число n (1 ≤ n ≤ 250) —
количество уничтоженных пусковых установок. В каждой из следующих n
строк записаны координаты очередной установки. Все координаты целые
и не превосходят 100 по абсолютной величине. Никакие две установки не
расположены в одной точке.
Результат
Выведите требуемый график. Первая строка должна соответствовать
максимальному значению y (или 0), а последняя — минимальному значению
y (или 0). В каждой строке должно быть записано одинаковое количество
символов. Первый символ строки должен соответствовать минимальному значению
x (или 0), а последний — максимальному значению x (или 0).
Пример
исходные данные | результат |
---|
8
-10 5
-7 3
-4 2
-9 4
0 1
6 -1
3 0
8 -3
| *.........|........
.*........|........
...*......|........
......*...|........
..........*........
----------+--*-----
..........|.....*..
..........|........
..........|.......*
|
Автор задачи: Андрей Демидов
Источник задачи: Открытое личное первенство УрФУ по программированию 2012