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

Задание №168128: Задание 3

Условие

3. Оплата по счётчику — заплатить Z рублей за каждый литр воды, использованный во время мойки. Макс знает, что он полностью помоет автомобиль за T минут, потратив при этом V литров воды. Помогите Максу определить минимальное количество рублей, чтобы оплатить мойку автомобиля, если он выберет тариф оптимально. Формат входных данных Первая строка содержит целое число X (1 6 X 6 104) — тариф фиксированной оплаты мойки автомобиля. Вторая строка содержит целое число Y (1 6 Y 6 104) — стоимость одной минуты мойки. Третья строка содержит целое число Z (1 6 Z 6 104) — стоимость одного литра воды. Четвёртая строка содержит целое число T (1 6 T 6 104) — количество минут, требующееся для мойки автомобиля. Пятая строка содержит целое число V (1 6 V 6 104) — объём воды в литрах, требующийся для мойки автомобиля. Формат выходных данных Выведите одно целое число — минимальное количество рублей для оплаты мойки автомобиля. Система оценки Решения, правильно работающие при T = 1, V = 1, будут оцениваться в 20 баллов. Примеры стандартный ввод стандартный вывод 1 1 1 1 1 1 200 140 10 18 14

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задача 3. Путь зигзагом

Будем увеличивать координаты чередуя их, пока не придём в нужную точку (x = a, y = b).
Если же одна координата уже приняла необходимое значение, а её нужно изменить, уменьшим её
на 1, потом она снова увеличится на 1, то есть эта координата будет меняться вблизи нужного нам
значения: a, a (cid:0) 1, a, a (cid:0) 1 и т.д., пока вторая координата не достигнет конечного значения.
В этом случае, возможно, мы сделаем лишний ход. Чтобы избежать этого лишнего хода, пер-
вое движение нужно делать в том направлении, в котором нам нужно переместиться на большее
расстояние, то есть если a > b, то на первом шаге нужно менять x, а если b > a — то y. Тогда мы
получим наилучший ответ.
Докажем это. Пусть m = max(a;b). Тогда мы должны сделать как минимум m шагов в одном
направлении, и ответ не может быть меньше m + (m (cid:0) 1), т.к. в другом направлении мы должны
сделать как минимум m (cid:0) 1 шагов. Более того, если a и b — одной чётности, то количества выпол-
ненных шагов в каждом направлении также должны быть одной чётности, и общее число шагов
будет не менее 2m. То есть общее число шагов не меньше 2m, если a и b одной чётности, и 2m (cid:0) 1,
если разной чётности.
Пусть a > b. Тогда выполнив a шагов по координате x мы окажемся либо в точке (a;b), либо в
точке (a;b(cid:0)1), так как по координате y робот будет «бегать» между y = b и y = b(cid:0)1. Поскольку мы
начали движение с координаты x, по оси y мы сделали на одно перемещение меньше, и координаты
робота будут разной чётности. В какой именно точке он окажется, зависит именно от чётности b,
поэтому в случае разных чётностей a и b он окажется в точке (a;b), и алгоритм завершит работу.

Если же a и b одной чётности, то робот окажется в точке (a;b (cid:0) 1), и ему понадобится сделать ещё
один шаг. Случай a < b рассматривается аналогично, в случае a = b наше решение достигнет цели
ровно за a + b шагов.
Пример решения. В этом решении в переменной move_x хранится логическое значение (True или
False), означающее, что робот делает очередной шаг вдоль оси OX. Это значение будет меняться
на противоположное на каждом шаге цикла.
a = int (input ())
b = int (input ())
move_x = a > b
x = 0
y = 0

while x != a or y != b:
if move_x:
if x < a :
x += 1
else :
x −= 1
else :
if y < b:
y += 1
else :
y −= 1

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

Пригласительный этап всероcсийской олимпиады по информатике для 8–10 классов
29-30 мая 2025

print (x , y)
move_x = not move_x

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

  • Будем увеличивать координаты чередуя их, пока не придём в нужную точку (x = a, y = b).
  • Пусть m = max(a;b).
  • точке (a;b(cid:0)1), так как по координате y робот будет «бегать» между y = b и y = b(cid:0)1.
  • Случай a < b рассматривается аналогично, в случае a = b наше решение достигнет цели
  • a = int (input ())
  • b = int (input ())

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

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

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

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