e-olymp 13. Паук и муха

Задача

В пустой прямоугольной комнате размерами [latex]A \times B \times C[/latex] (длина, ширина, высота) на пол упала уснувшая муха. Паук, находившийся на одной из стен, или на полу комнаты, начал двигаться к ней по кратчайшему пути.

На какое расстояние он при этом переместится?

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

В первой строке заданы размеры комнаты [latex]A[/latex], [latex]B[/latex], [latex]C[/latex]. Во второй строке — координаты мухи [latex]X_1[/latex], [latex]Y_1[/latex] и паука [latex]X_2[/latex], [latex]Y_2[/latex], [latex]Z_2[/latex].

Все входные данные — целые числа, не превышающие 500.

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

Единственное число — расстояние, на которое переместится паук, вычисленное с точностью до 2-х знаков после запятой.

Тесты

Входные данные Выходные данные
$3$ $4$ $8$

$0$ $0$ $3$ $4$ $0$

$5.00$
$2$ $2$ $8$

$1$ $1$ $2$ $1$ $4$

$5.00$
$6$ $4$ $3$

$5$ $1$ $0$ $2$ $1$

$6.08$
$30$ $60$ $27$

$13$ $21$ $8$ $0$ $17$

$38.33$
$40$ $40$ $40$

$10$ $5$ $8$ $40$ $37$

$72.03$

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

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

Суть решения задачи заключается в переходе от трехмерного пространства комнаты к двумерному с помощью «развёртки» комнаты на координатную плоскость.

Переведя координаты паука в комнате в его новые координаты в двумерном пространстве, все, что нам остается сделать — вычислить кратчайшее расстояние между двумя точками на плоскости с помощью функции [latex]distance[/latex].
В простейшем случае, если паук находится на полу комнаты, т.е. его координата [latex]Z_2[/latex] нулевая, координаты паука [latex]X_2[/latex] и [latex]Y_2[/latex] в точности описывают его положение в координатной плоскости развёртки, и преобразовывать их не требуется.
В противном случае отдельно рассматриваем варианты расположения паука на каждой из стен. В зависимости от того, на какой стене он находится, мы изменяем координаты в соответствии с развёрткой комнаты и находим расстояние от паука до мухи с помощью функции [latex]distance[/latex].
В случае местонахождения паука в каком-либо из углов комнаты, но не на полу, мы должны рассмотреть два варианта его положения в развёртке и найти минимальное из них.

Ссылки

Условие задачи на сайте E-Olymp
Код решения задачи

Related Images:

2 thoughts on “e-olymp 13. Паук и муха

    • Пожалуйста, посмотрите как именуют работы остальные студенты. Должно быть одинаково.
    • Вы очень сильно отступили от оригинального оформления условия задачи на e-olymp. Это не так страшно, но некоторые вещи неприемлемы. Например звездочка вместо крестика при указании размеров комнаты. Так почему-то не принято. Остальное наверное можно оставить.
    • Сделайте рисунок минимум в два раза крупнее и используйте font-style=»italic», чтобы обозначения в тесте и на рисунке совпадали по начертанию. Это важно т.к., например, а и a совершенно непохожи.
    • Принцип решения задачи заключается… Готов смириться, но слово «принцип» тут как-то режет слух. Обычно принцип — основное, исходное положение какой-н. теории, учения, науки и т. п. Принцип для одной задачи мелко. Может «подход к решению подобных задач»? А, впрочем, решать автору.
    • Зачем на развёртки потолок? Он в задаче не используется. А там где используется одной развертки недостаточно.

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