1. Главная
  2. Библиотека
  3. Менеджмент организации
  4. В сервисном центре работают К мастерских для ремонта ус...
Решение задачи

В сервисном центре работают К мастерских для ремонта устройств. Некоторые поломки могут быть устранены только в определённой мастерской, некоторые - в любой мастерской. Устройство поступает в центр и ставится в очередь к той мастерской, которая может

  • Менеджмент организации

Условие:

В сервисном центре работают К мастерских для ремонта устройств. Некоторые поломки могут быть устранены только в определённой мастерской, некоторые - в любой мастерской. Устройство поступает в центр и ставится в очередь к той мастерской, которая может устранить его проблему.
Если поломка может быть устранена в любой мастерской, устройство направляется в ту, в очереди к которой в данный момент меньше единиц техники. Если при этом очереди в несколько мастерских одинаковые, устройство отправляется в мастерскую с наименьшим номером. При этом, если в очереди к выбранной мастерской уже находится 5 или более устройств (включая устройство, которое ремонтируют в данный момент), поступившее устройство сразу отправляют на утилизацию.
Если момент завершения ремонта одного или нескольких устройств совпадает с моментом поступления нового устройства, то можно считать, что новое устройство поступило после того, как ремонт ранее поступивших устройств завершился и очередь сократилась.
Входные данные
Первая строка входного файла содержит два целых числа: N (N s 1000) общее количество устройств, поступивших в сервисный центр за один рабочий день, и К (К ≤ 20) - количество мастерских.
Каждая из следующих N строк описывает одно устройство и содержит 3 целых числа: время поступления устройства в центо (количество минут с начала рабочего дня), время, необходимое для ремонта и номер мастерской, в которую его необходимо направить (0 означает, что ремонт возможен в любой мастерской). Гарантируется, что никакие два устройства не поступают одновременно.
Определите, наибольшее количество устройств, отремонтированных в течении дня в одной мастерской, и количество устройств, которые отправятся на утилизацию из-за слишком больших очередей. В ответе запишите два целых числа: сначала наибольшее количество устройств, отремонтированных в одной мастерской, затем количество утилизированных устройств

Решение:

Для решения задачи, давайте разберем её по шагам.

Шаг 1: Понимание входных данных

- У нас есть N устройств, которые поступают в сервисный центр.
- Каждое устройство имеет:
- Время поступления в минуту.
- Время, необходимое для ремонта.
- Номер мастерской (или 0, если ремонт возможен в любой мастерской).

Шаг 2: Инициализация данных

- Создадим массив для отслеживания очередей в каждой мастерской.
- Создадим массив для отслеживания количества отремонтированных устройств в каждой мастерской.
- Создадим переменную для отслеживания количества утилизированных устройств.

Шаг 3: Обработка поступлений

- Для каждого устройства:
1. Проверяем, в какую мастерскую его можно отправить.
2. Если мастерская определена (номер не 0), проверяем, может ли она принять устройство (очередь 5).
3. Если мастерская не определена (номер 0), выбираем мастерскую с наименьшей очередью. Если есть несколько, выбираем с наименьшим номером.
4. Если очередь выбранной мастерской = 5, устройство утилизируется.
5. Если устройство отправляется в мастерскую, обновляем очередь и время завершения ремонта.

Шаг 4: Подсчет результатов

- После обработки всех устройств, определяем максимальное количество отремонтированных устройств в одной мастерской.
- Подсчитываем общее количество утилизированных устройств.

Шаг 5: Реализация алгоритма

Теперь реализуем алгоритм на Python:

В результате выполнения программы мы получим два числа: максимальное количество отремонтированных устройств в одной мастерской и количество утилизированных устройств.

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет