Условие

Политическая жизнь одной страны очень оживленная. В стране действует K политических партий, каждая из которых регулярно объявляет национальную забастовку. Дни, когда хотя бы одна из партий объявляет забастовку, при условии, что это не суббота или воскресенье (когда и так никто не работает), наносят большой ущерб экономике страны.

i-я партия объявляет забастовки строго каждые b_i дней, начиная с дня с номером a_i. То есть i-я партия объявляет забастовки в дни a_ia_i + b_ia_i + 2 * b_i и т.д. Если в какой-то день несколько партий объявляет забастовку, то это считается одной общенациональной забастовкой.

В календаре страны N дней, пронумерованных, начиная с единицы. Первый день года является понедельником, шестой и седьмой дни года — выходные, неделя состоит из семи дней.

В первой строке даны числа N и K. Далее идет K строк, описывающие графики проведения забастовок. i-я строка содержит числа a_i и b_i. Вам нужно определить число забастовок, произошедших в этой стране в течении года.

Решение задачи от разработчиков на Python:

Copy to Clipboard

Еще одно решение задачи на Python:

Copy to Clipboard

Смотреть видео — Задача «Забастовки» решение на Python

Делитесь с друзьями ссылкой на ответ и задавайте вопросы в комментариях! 👇

5 2 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
NotRaelc
NotRaelc
1 год назад

вот мой код
N, K = map(int, input().split())
z = set()
for i in range(K):
  a_i, b_i = map(int, input().split())
  for j in range((N — a_i)//b_i + 1):
    if (a_i + b_i * j) % 7 != 0 and (a_i + b_i * j) % 7 != 6: z.add(a_i + b_i * j)
print(len(z))