Темы --> Информатика --> Алгоритмы --> Задачи на моделирование
---> 1 задач <---
Страница: 1 Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Задана таблица в виде количества строк. Для каждой строки задано количество ячеек в ней и ширина каждой из ячеек. Необходимо нарисовать таблицу псевдографикой (знаками -, +, |). 

Максимальное время работы на одном тесте: 2 секунды

При разработке программ для просмотра веб-страниц одной из наиболее сложных задач является корректное отображение таблиц. Компания «Kozilla», в которой вы работаете, планирует разработать новую версию браузера «Waterrat» для работы в терминальном режиме и просит вас написать фрагмент ядра отображения веб-страниц, ответственный за формирование структуры таблиц.

Фрагмент, который вы должны написать, получает на вход информацию о количестве строк таблицы и ячейках этих строк и должен сгенерировать структуру таблицы и передать ее модулю, который занимается отображением таблицы на экране.

Таблица состоит из строк, каждая строка состоит из одной или нескольких ячеек, j-я ячейка i-й строки имеет ширину ai, j.

По заданным параметрам таблицы постройте символическое изображение ее структуры.

Входные данные

В первой строке вводится число n – количество строк в таблице ( 1\( le\)n\( le\)100). Каждая из следующих n строк  входных данных  описывает одну строку таблицы.

Описание  строки включает число mi – количество ячеек в этой строке, и mi целых чисел ai, 1, ai, 2,..., ai, mi – ширину каждой из ячеек строки ( 1\( le\)mi\( le\)10, 1\( le\)ai, j\( le\)20).

Выходные данные

Выведите символическое изображение структуры таблицы.

Изображение i-й строки таблицы должно начинаться  горизонтальной линией, составленной из символов «+» (плюс) и «-» (минус). Затем должна следовать строка, содержащая пробелы и символы «|» (вертикальная черта). Первым символом строки должна быть вертикальная черта, затем ai, 1 пробелов, затем вертикальная черта, затем ai, 2 пробелов, и так далее, всего mi блоков пробелов. После последнего блока должна следовать вертикальная черта.

После последней строки таблицы также должна следовать горизонтальная линия.

В изображении горизонтальной линии используйте символ «+», если сверху или снизу от этой позиции находится вертикальная черта, и «-» в противном случае. Горизонтальная черта должна иметь минимальную возможную длину, чтобы над каждым символом вертикальной черты следующей строки и под каждым символом вертикальной черты предыдущей строки были символы «+».

Примеры
Входные данные
4
3 3 5 1
1 2
1 2
2 5 1
Выходные данные
+---+-----+-+
|   |     | |
+--++-----+-+
|  |
+--+
|  |
+--+--+-+
|     | |
+-----+-+

Страница: 1 Отображать по:
Выбрано
:
Отменить
|
Добавить в контест