Собрать образ:
sudo docker buildx build -t club . Запустить контейнер и указать обрабатываемый файл:
docker run -v /path/to/user/input.txt:/data/input.txt clubПрототип системы, которая следит за работой компьютерного клуба.
Входные данные представляют собой текстовый файл. Формат входных данных: Первая строка содержит количество столов в виде целого положительного числа. Во второй строке задается время начала и окончания работы компьютерного клуба, разделенные пробелом. В третьей строке задается стоимость часа в компьютерном клубе в виде целого положительного числа. Затем задается список входящих событий, разделенных переносом строки. Внутри строки в качестве разделителя между элементами используется один пробел.
- Имена клиентов представляют собой комбинацию символов из алфавита a..z, 0..9, _, -
- Время задается в 24-часовом формате с двоеточием в качестве разделителя XX:XX, незначащие нули обязательны при вводе и выводе (например 15:03 или 08:09).
- Каждый стол имеет свой номер от 1 до N, где N – общее число столов, указанное в конфигурации.
- Все события идут последовательно во времени. (время события N+1) ≥ (время события N).
Если входные данные не удовлетворяют описанному формату, программа должна вывести в консоль первую строку, в которой найдена ошибка формата и завершиться. Если входные данные корректны, программа должна вывести следующий результат:
- На первой строке выводится время начала работы.
- Далее перечислены все события, произошедшие за рабочий день (входящие и исходящие), каждое на отдельной строке.
- После списка событий на отдельной строке выводится время окончания работы.
- Для каждого стола на отдельной строке выведены через пробел следующие параметры: Номер стола, Выручка за день и Время, которое он был занят в течение рабочего дня. После этого программа должна завершиться.
За каждый час, проведённый за столом, клиент платит цену, указанную в конфигурации. При оплате время округляется до часа в большую сторону, поэтому, даже если клиент занимал стол всего несколько минут, он платит за целый час. Выручка – сумма, полученная ото всех клиентов за всё время работы компьютерного клуба.
Все события характеризуются временем и идентификатором события. Исходящие события — это события, создаваемые во время работы программы. События, относящиеся к категории «входящие», сгенерированы быть не могут, и выводятся в том же виде, в котором были поданы во входном файле.