e-olymp 1312. Шкаф

Задача

Размеры шкафа [latex] a \times b \times c [/latex]. Возможно ли его пронести через дверной проём с размерами [latex]x \times y[/latex]? Считается, что шкаф проходит в проем, если размеры, которыми его будут вносить сквозь дверь, не больше соответствующих размеров двери.

Входные данные

Целые числа [latex] a, b, c, x, y (1 ≤ a, b, c, x, y ≤ 100)[/latex].

Выходные данные

Вывести строку «YES«, если шкаф пронести возможно, и «NO» если нельзя.

Тесты

Ввод Вывод
1 4 5 6 10 20 YES
2 4 5 6 3 4 NO
3 12 3 4 5 6 YES
4 12 3 6 5 6 YES
5 12 3 7 5 6 NO

Код программы 

Либо

Без условных операторов

Решение задачи

Очевидно, шкаф будет будет проходить через дверной проём тогда, когда две любые его стороны (в силу того, что шкаф в пространстве возможно повернуть любой из сторон) будут меньше размеров проёма. Таким образом, путём сравнения мы можем сделать вывод относительно того, пройдёт ли шкаф через проём.

Ссылки

Related Images:

6 thoughts on “e-olymp 1312. Шкаф

  1. Странно, что в условии не уточняется, что стороны шкафа должны быть параллельны сторонам двери. Иначе задачка становится значительно интереснее.

    Вы многократно сравниваете два прямоугольника на вложимость одного в другой. Не лучше ли это оформить в виде функции и вызвать ее 3 раза?

    • Реализовала наиболее очевидное из решений. Стоит добавить «альтернативное» решение с использованием функций?

    • Проблема реализованного Вами подхода в том, что многократное повторение одного и того же кода увеличивает вероятность появления бага. Поэтому я бы хотел видеть версию с функцией. Думаю, Игорь Евгеньевич меня поддержит.

  2. Нет ни одной причины делать так, как Вы:

    Нужно просто:

Добавить комментарий