Моделирование процессов на Python: как решать + 16 задач с проверкой

Моделирование процессов (симуляция) — это способ решать задачи, где что-то происходит во времени: приходят заявки, работают устройства, копится очередь, меняются состояния. На олимпиадах это встречается в сюжетах про склад и погрузчики, лифты, светофоры, конвейер, гирлянды, автоматы в игре — везде, где нужно понять, *когда что закончится* и *какие значения достигнуты по ходу работы* (например, максимум очереди).

Как распознать, что нужна симуляция:

Суть приёма: мы идём по событиям в порядке времени и поддерживаем состояние системы (кто занят, кто ждёт, когда освободится ресурс). Вместо «прокрутки» каждого момента времени обрабатываем только важные точки: приходы, освобождения, переключения. Это резко ускоряет решение, потому что операций становится порядка числа событий, а не размера времени.

С чего начать учиться:

Ниже — задачи с автопроверкой и разбором подхода на моделирование процессов.

Задачи по теме «Моделирование процессов»

Весь каталог задач