Add 2017-11-21 Tuesday
Add 2017-11-20 Monday
Add 2017-11-21 Weekly meeting
Print
Find event != "Weekly meeting"
Last 2017-11-30
Del date > 2017-11-20
Last 2017-11-30
Last 2017-11-01
2017-11-20 Monday
2017-11-21 Tuesday
2017-11-21 Weekly meeting
2017-11-20 Monday
2017-11-21 Tuesday
Found 2 entries
2017-11-21 Weekly meeting
Removed 2 entries
2017-11-20 Monday
No entries
-
Add date event — добавить в базу данных пару (date, event);
-
Print — вывести всё содержимое базы данных;
-
Find condition — вывести все записи, содержащиеся в базе данных, которые удовлетворяют условию condition;
-
Del condition — удалить из базы все записи, которые удовлетворяют условию condition;
-
Last date — вывести запись с последним событием, случившимся не позже данной даты.
В стандартном вводе содержатся команды для работы с базой данных, по одной команде в строке. Ваша программа должна считать их и вывести результаты обработки в стандартный вывод. Правила обработки команд приведены ниже.
Встретив команду Add date event, ваша программа должна добавить пару (date, event) в базу данных и затем показывать её при поиске (команда Find) или печати (команда Print). Одинаковые события, произошедшие в один и тот же день, сохранять не нужно: добавление в базу уже существующей пары (date, event) должно игнорироваться. В одну и ту же дату может произойти много разных событий, БД должна суметь их все сохранить.
Для команды Add 2017-11-07 big sport event программа должна добавить в базу данных пару (2017-11-07, big sport event).
Встретив команду Del condition, ваша программа должна удалить из базы данных все события, удовлетворяющие условию condition, и вывести в стандартный вывод количество удалённых записей N в формате «Removed N entries». Если условие пусто, результатом выполнения команды должна стать очистка всей базы данных.
Add 2017-06-01 1st of June
Add 2017-07-08 8th of July
Add 2017-07-08 Someone's birthday
Del date == 2017-07-08
Removed 2 entries
Встретив команду Print, ваша программа должна вывести все пары (дата, событие), которые в данный момент содержатся в базе данных. Пары надо выводить по одной в строке. Они должны быть отсортированы по дате по возрастанию. События в рамках одной даты необходимо выводить в порядке добавления (за исключением уже удалённых и попыток добавления повторов)
Add 2017-01-01 Holiday
Add 2017-03-08 Holiday
Add 2017-1-1 New Year
Add 2017-1-1 New Year
Print
2017-01-01 Holiday
2017-01-01 New Year
2017-03-08 Holiday
Встретив команду Find condition, ваша программа должна вывести все пары (дата, событие), которые в данный момент содержатся в базе данных и удовлетворяют условию condition.
Add 2017-01-01 Holiday
Add 2017-03-08 Holiday
Add 2017-01-01 New Year
Find event != "working day"
Add 2017-05-09 Holiday
2017-01-01 Holiday
2017-01-01 New Year
2017-03-08 Holiday
Found 3 entries
По команде Last date нужно вывести последнее из событий, случившихся к дате date.
- если date меньше всех имеющихся дат, необходимо вывести «No entries».
Пример
Add 2017-01-01 New Year
Add 2017-03-08 Holiday
Add 2017-01-01 Holiday
Last 2016-12-31
Last 2017-01-01
Last 2017-06-01
Add 2017-05-09 Holiday
Ввод
No entries
2017-01-01 Holiday
2017-03-08 Holiday
сертификаты: