ОлимпиадаИскусственный интеллектЗадание 2Олимпиадный

Задание №168136: Задание 2

Условие

2 Замечание В примере из условия Пете следует выйти из дома в 3-ю минуту. Количество осадков, которое выпадет за время его нахождения на улице, составит 1 + 4 + 2 + 1 = 8. В 7-ю он совершит покупку, после чего, начиная с минуты #8, он может отправиться обратно. Наилучшим решением для него будет подождать до 13-й минуты: если он выйдет из пекарни в этот момент, то количество осадков, которое выпадет за время его нахождения на улице, составит 3 + 1 + 2 + 1 = 7. Суммарное количество осадков будет равно 15. Можно проверить, что в других случаях количество осадков будет больше. Страница 6 из 6

📎 tasks-iikt-8-10-prigl-msk-25-26.pdf📎 sol-iikt-8-10-prigl-msk-25-26.pdf

Что проверяет это задание

Задание относится к теме «Задание 2» и рассчитано на уровень 8 класса. Для решения понадобятся:

  • анализ условия
  • пошаговое рассуждение
  • проверка результата

Источник: ВсОШ в Москве — официальный архив · 2025

Качество материала

Показываем, из чего состоит страница и можно ли проверить материал по первоисточнику.

Условиеполное
Первоисточникуказан
Подробное решениеопубликовано
Проверка дублейосновная версия

Последняя проверка решения:

Происхождение задания

Банк заданий
ВсОШ в Москве — официальный архив
Организатор
Редакция «Я сам решу»
Год материала
2025
Материалы
2 файла
Открыть официальный архив ↗

Связанные понятия

Искусственный интеллектЗадание 2Задание 2 · тип 2анализ условияпошаговое рассуждение

План самостоятельного решения

  1. Перепишите известные данные и отдельно сформулируйте, что требуется найти или доказать.
  2. Свяжите условие с темой «Задание 2» и выберите подходящее правило, формулу или способ рассуждения.
  3. Запишите промежуточные шаги: это помогает заметить потерянный знак, случай или логический переход.
  4. Сверьте результат со всеми ограничениями условия и только затем откройте подробный разбор.

Ориентировочное время: 15 минут.

Закрепить тему

После разбора попробуйте решить ещё десять заданий по предмету «Искусственный интеллект». Вариант формируется заново, а ответы можно сразу проверить.

Собрать тренировочный вариант →

Подробный разбор

Решение по шагам

Задача 2. Политическая борьба
Рассмотрим решение для частного случая a < b и c = 0 (делегаты только двух партий, против-
ников больше, чем сторонников).

Если делегата первой партии поселить с двумя делегатами другой партии, то его переманят оп-
поненты. Если же двух делегатов первой партии поселить с делегатом второй партии, то количество
членов первой партии увеличится на 1. Поэтому делегатов первой партии нужно селить парами, до-
бавляя к ним по одному делегату второй партии. Если a чётное, то делегаты первой партии смогут
привлечь a=2 новых сторонников.
Если a нечётное, то один делегат первой партии перейдёт во вторую партию, если его поселить
одного. Этого можно избежать, если трёх делегатов первой партии поселить в один номер, но тогда
два других делегата не смогут привлечь одного нового сторонника. Можно поступить любым спосо-
бом, результат будет одинаковым. Количество переманенных делегатов второй партии будет равно
(a (cid:0) 3)=2.
Пример решения для этого случая.
a = int (input ())

b = int (input ())
c = int (input ())
n = (a + b + c) // 3
if a % 2 == 0:
print (a + a // 2)
else :
print (a + (a − 3) // 2)

Заметим, что это решение работает и в случае a = 1, тогда ответ равен 0.
Теперь рассмотрим полное решение. Определим количество комнат n = a+b+c. Если a не меньше
3
2n, то в каждый номер можно поселить не менее двух делегатов первой партии, тогда наутро все
делегаты станут членами первой партии. Ответ в этом случае 3n.
Иначе будем селить делегатов первой партии по двое, чтобы каждые два делегата первой партии
переманили одного делегата другой партии. Тогда количество переманенных делегатов будет равно
a // 2 (целочисленное деление a на 2).
Если a нечётное, то одного делегата первой партии придётся поселить в номер с оппонентами.
Переманивания этого делегата удастся избежать, если его поселить с представителями разных пар-
тий, что возможно, если b > 0 и c > 0. Если же a нечётно, и хотя бы одно из чисел b или c равно 0,
то этого делегата сохранить не удастся — ответ будет меньше на 1 (как и ранее, его можно поселить
в номер с двумя делегатами своей партии, но это тоже приведёт к уменьшению ответа на 1, так как
уменьшится число переманенных членов других партий).
Пример решения для общего случая.
a = int (input ())

Страница 1 из 5

Пригласительный этап всероcсийской олимпиады по информатике для 8–10 классов
29-30 мая 2025
b = int (input ())
c = int (input ())
n = (a + b + c) // 3

if a >= 2 ∗ n:
print (3 ∗ n)
elif a % 2 == 1 and (b == 0 or c == 0):
print (a + a // 2 − 1)
else :
print (a + a // 2)

Используемые формулы

  • Рассмотрим решение для частного случая a < b и c = 0 (делегаты только двух партий, против-
  • привлечь a=2 новых сторонников.
  • (a (cid:0) 3)=2.
  • a = int (input ())
  • b = int (input ())
  • c = int (input ())

Самопроверка после решения

  • Я использовал все данные из условия и не добавил неподтверждённых предположений.
  • Каждый переход в рассуждении объяснён правилом, формулой или ранее доказанным фактом.
  • Ответ соответствует вопросу, а обозначения и единицы измерения записаны однозначно.
  • Я сравнил свой ход решения с разбором и понял причину каждого отличия.

Типичные ошибки

  • Пропустить часть условия.
  • Сделать вывод без проверки промежуточного шага.
  • Записать только ответ без объяснения.
Сложность: ОлимпиадныйРешение проверено: