Задача
Заданы размеры прямоугольной двери $a$, $b$ и размеры шкафа, который имеет форму прямоугольного параллелепипеда $x$, $y$, $z$. Можно ли пронести шкаф сквозь дверь, если проносить его разрешается так, чтобы каждое ребро шкафа было параллельно или перпендикулярно стороне двери.
Входные данные
Пять действительных чисел $a$, $b$, $x$, $y$, $z$ ( $0\;\lt\;a,\;b,\;x,\;y,\;z\;\lt\;10$ ).
Выходные данные
Вывести $1$, если шкаф можно свободно пронести сквозь дверь и $0$ в противоположном случае.
Тесты
Входные данные | Выходные данные |
$5\;7\;4\;6\;8$ | $1$ |
$1\;4\;2\;3\;6$ | $0$ |
$2.9\;6.7\;5.1\;3.7\;1.0$ | $1$ |
$4\;6\;6\;4\;3$ | $1$ |
$1.5\;8\;9.9\;2\;7.5$ | $0$ |
$2\;2\;2\;2\;2$ | $0$ |
$2\;3\;7\;8\;8$ | $0$ |
$5\;6\;2\;4\;3.5$ | $1$ |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import java.util.Scanner; public class Main { public static void main (String[] args) { Scanner scanner = new Scanner(System.in); double a = scanner.nextDouble(); double b = scanner.nextDouble(); double x = scanner.nextDouble(); double y = scanner.nextDouble(); double z = scanner.nextDouble(); if ((x < a && y < b) || (y < a && x < b) || (y < a && z < b) || (z < a && y < b) || (x < a && z < b) || (z < a && x < b)) { System.out.print(1); } else { System.out.print(0); } } } |
Решение
Шкаф можно пронести через дверь тогда и только тогда, когда ширина и высота его грани, параллельной дверному проему, меньше ширины и высоты двери.
Имеем шесть возможных вариантов ширины и высоты грани шкафа — $(x,y)$, $(y,x)$, $(y,z)$, $(z,y)$, $(x,z)$, $(z,x)$
Сравнивая их с размерами двери определяем, можно ли пронести шкаф сквозь дверь.
Ссылки
Условие задачи на e-olymp
Решение на ideone
Решение на e-olymp