Вопрос задан 29.07.2026 в 07:07. Предмет Информатика. Спрашивает Украинец Юля.

Написать программу на Python. За многие годы заточения узник замка Иф проделал в стене прямоугольное отверстие размером D×E. Замок Иф сложен из кирпичей размером A×B×C. Определите, сможет ли узник выбрасывать кирпичи в море через это отверстие, если стороны кирпича должны быть параллельны сторонам отверстия. Входные данные Программа получает на вход числа A, B, C, D, E. Все числа натуральные, не превосходящие 10000. Выходные данные Программа должна вывести слово YES или NO. Примеры Ввод 1 1 1 1 1 Вывод YES Ввод 2 2 2 1 1 Вывод NO

Перейти к ответам

Ответы на вопрос

Отвечает Юрков Костя.

Кирпич можно поворачивать, поэтому к отверстию можно поднести любую из трёх его граней:

  • A × B;

  • A × C;

  • B × C.

Для каждой грани нужно проверить два возможных положения относительно отверстия D × E. Например, грань A × B пройдёт, если:

Python
A <= D and B <= E

или если кирпич повернуть на 90 градусов:

Python
A <= E and B <= D

Удобнее отсортировать размеры кирпича и отверстия. Для прохождения достаточно, чтобы две наименьшие стороны кирпича помещались в стороны отверстия.

Python
A, B, C, D, E = map(int, input().split())

brick = sorted([A, B, C]) hole = sorted([D, E])

if brick[0] <= hole[0] and brick[1] <= hole[1]: print("YES") else: print("NO")

После сортировки:

  • brick[0] и brick[1] — две наименьшие стороны кирпича;

  • hole[0] — меньшая сторона отверстия;

  • hole[1] — большая сторона отверстия.

Если обе стороны выбранной грани кирпича не больше соответствующих сторон отверстия, выводится YES. В противном случае выводится NO.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос