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

Чемпионат Урала 2015

Описание     Задачи     Отправить на проверку     Состояние проверки     Результаты
Соревнование завершено

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

Ограничение времени: 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)
Чтобы отправить решение этой задачи на проверку перейдите в Архив задач: 2046. Первый раз в первый класс