ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

2046. Первый раз в первый класс

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Вася — молодой и подающий большие надежды андроид. Сегодня его первый день в университете. Вася внимательно ознакомился с перечнем всех учебных курсов на стене около деканата и выбрал, какие из них он будет посещать. Теперь Вася хочет нарисовать в своем блокноте получившееся расписание. Помогите ему это сделать.

Исходные данные

В первой строке дано целое число n — количество курсов, которые Вася собирается посещать (1 ≤ n ≤ 12). Далее перечислены сами курсы, каждый из них описан в двух строках.
Первая строка описания курса содержит его название. Название состоит не более чем из пяти слов, которые разделяются ровно одним пробелом (перед первым словом и после последнего пробелов нет). Слова состоят из заглавных и строчных латинских букв. Гарантируется, что длина каждого слова лежит в пределах от 1 до 10. Любые два курса имеют различные названия.
Во второй строке описания курса записаны день недели и номер пары, когда он проходит. День недели может принимать одно из трех значений: «Tuesday» (вторник), «Thursday» (четверг) и «Saturday» (суббота). Номер пары — целое число от 1 до 4. Гарантируется, что никакие два выбранных Васей курса не проходят в одно же время.

Результат

Выведите расписание в виде таблицы размера 4 на 3. Столбцы таблицы должны соответствовать трем учебным дням: первый столбец — вторнику, второй — четвергу, а третий — субботе. Строки должны соответствовать четырем парам. Ширина каждой колонки должна равняться 10 символам. Высота строки таблицы равняется высоте самой высокой ячейки в ней. Если все ячейки в строке пусты, то высота строки равна одному символу. Если очередное слово из названия не помещается на текущей строке, то оно выводится с новой строки. Текст в ячейке должен быть выравнен по левому и верхнему краям. Саму таблицу нарисуйте с помощью символов «-» (ASCII 45), «+» (ASCII 43) и «|» (ASCII 124).

Пример

исходные данныерезультат
9
Physics
Thursday 3
Maths
Tuesday 1
Chemistry
Thursday 1
Physical education
Saturday 2
Astronomy
Saturday 4
Urban geography
Tuesday 4
History
Saturday 1
Modeling
Thursday 2
Biology
Thursday 4
+----------+----------+----------+
|Maths     |Chemistry |History   |
+----------+----------+----------+
|          |Modeling  |Physical  |
|          |          |education |
+----------+----------+----------+
|          |Physics   |          |
+----------+----------+----------+
|Urban     |Biology   |Astronomy |
|geography |          |          |
+----------+----------+----------+
Автор задачи: Олег Долгоруков
Источник задачи: XIX Открытый чемпионат Урала по спортивному программированию (апрель, 2015)