시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 1024 MB | 11 | 10 | 9 | 90.000% |
При разработке программ для просмотра веб-страниц одной из наиболее сложных задач является корректное отображение таблиц. Компания <<Kozilla>>, в которой вы работаете, планирует разработать новую версию браузера <<Waterrat>> для работы в терминальном режиме, и просит вас написать фрагмент ядра отображения веб-страниц, ответственный за формирование структуры таблиц.
Фрагмент, который вы должны написать, получает на вход информацию о количестве строк таблицы и ячейках этих строк и должен сгенерировать структуру таблицы и передать ее модулю, который занимается отображением таблицы на экране.
Таблица состоит из строк, каждая строка состоит из одной или нескольких ячеек, $j$-я ячейка $i$-й строки имеет ширину $a_{i,j}$.
По заданным параметрам таблицы постройте символическое изображение ее структуры.
Первая строка входного файла содержит $n$ --- количество строк в таблице ($1 \le n \le 100$). Следующие $n$ строк входного файла содержат описание строк таблицы.
Описание каждой строки включает число $m_i$ --- количество ячеек этой строки, и $m_i$ целых чисел $a_{i,1}, a_{i,2}, \dots, a_{i,m_i}$ --- ширину каждой из ячеек строки ($1 \le m_i \le 10$, $1 \le a_{i,j} \le 20$).
Выведите в выходной файл символическое изображение структуры таблицы.
Изображение $i$-й строки таблицы должно начинаться изображением горизонтальной линии, составленным из символов <<+
>> (плюс) и <<-
>> (минус). Затем должна следовать строка, содержащая пробелы и символы <<|
>> (вертикальная черта). Первым символом строки должна быть вертикальная черта, затем $a_{i,1}$ пробелов, затем вертикальная черта, затем $a_{i,2}$ пробелов, и так далее, всего $m_i$ блоков пробелов. После последнего блока должна следовать вертикальная черта. После последней строки таблицы также должно следовать изображение горизонтальной линии.
В изображении горизонтальной линии используйте символ <<+
>>, если сверху или снизу от этой позиции находится вертикальная черта, и <<-
>> в противном случае. Горизонтальная линия должна иметь минимальную возможную длину, чтобы над каждым символом вертикальной черты следующей строки и под каждым символом вертикальной черты предыдущей строки были символы <<+
>>.
4 3 3 5 1 1 2 1 2 2 5 1
+---+-----+-+ | | | | +--++-----+-+ | | +--+ | | +--+--+-+ | | | +-----+-+