Очередь на принтере
Задача по программированию с проверкой онлайн
- Сложность
- Лёгкая
- Языки
- Python
- JavaScript
- TypeScript
- Java
- Go
- Темы
- Классы и ООП
- Стек, очередь, связные списки
Принтер берёт задания по порядку поступления и печатает по одной странице за операцию. Сначала очередь пуста. Реализуйте операции:
submit(задание, страницы): добавить в конец очереди задание с номером и числом страниц (оба положительны, номера в очереди не повторяются); результат — длина очереди после добавления;print_page: напечатать одну страницу первого задания. Если это была его последняя страница, задание уходит из очереди и результат — его номер; если остались страницы, результат0; если очередь пуста, результат-1;pending_pages: результат — сумма страниц, оставшихся во всех заданиях очереди.
Верните список результатов, по одному на операцию. values[i] — аргументы операции i.
Пример: ["submit", "submit", "print_page", "print_page", "print_page", "print_page"], [[1, 2], [2, 1], [], [], [], []] → [1, 2, 0, 1, 2, -1].
Источник: задача CodeShare
Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).