Дз-з-з-з-зи-и-и-инь… Дз-з-з-з-зи-и-и-инь…
— К-какого дьявола!!!??? — выругался майор Пронин, с трудом продирая глаза и глядя на часы на тумбочке. — Кому я понадобился в воскресенье в 5 часов утра?
Майор достал из под подушки свой верный ТТ, навел его на телефон и прищурил левый глаз. Изображение расплывалось, он никак не мог прицелиться. Сказывалась вчерашняя вечеринка…
Дз-з-з-з-зи-и-и-инь… Дз-з-з-з-зи-и-и-инь… — навязчиво трещал аппарат.
Переборов страшное искушение, Пронин убрал пистолет обратно под подушку, подошел к телефону и поднял трубку. В голове пронеслась мысль: «Кто бы это ни был, ему не дожить до следующего утра…», и он представил себе звонящего, лежащего в луже крови, и себя над ним, с дымящимся еще стволом, и кривой усмешкой на губах.
— Майор Пронин? — донеслось из телефона.
Услышав знакомый голос, майор инстинктивно вытянулся по стойке смирно.
— Слушаю, товарищ генерал!
— Для вас дело. Машина у подъезда, через 20 минут в управлении.
Ровно через 19 минут и 50 секунд Пронин вошел в кабинет генерала.
– Расследование чрезвычайной важности, – произнес тот, после короткого приветствия. – Возможно, убийство. Сегодня ночью известный банкир Козлов А. Е. сбил пешехода. Вроде бы обычное дело, но жертва оказалась противником Козлова на прошедшем судебном процессе, завершившемся не в пользу нашего… хм… «клиента». Задержанный утверждает, что не заметил жертву в зеркале заднего вида, когда выезжал из гаража. Упирает на несчастный случай. Надо бы проверить. Вот все документы. О результатах расследования докладывать немедленно и лично мне! Как вы знаете, наш Козлов А. Е. – кандидат в мэры, ошибки в таком деле просто недопустимы!
— Есть, товарищ генерал! — рявкнул майор. — Разрешите идти?
В кабинете Пронин просмотрел протокол осмотра места происшествия. Дотошные опера составили совершенно точное описание обстановки. В частности, он обнаружил замеры положения зеркала в машине а также замеры положения тела пострадавшего.
— Стоп! — сказал себе майор. — Так ведь по этим данным я могу понять, не врет ли наш банкир, утверждая, что не видел жертву в зеркале!
Взяв с собой все данные, он отправился в аналитический отдел, к знакомому программисту. Он подошёл к двери и…
Knock, knock, Contestant!
Major has you.
Исходные данные
На входе — 8 вещественных чисел, данных c точностью до 6 знаков после запятой, разделенных одним или несколькими пробелами и (или) переводами строк — (−1000 ≤ x1, y1, x2, y2, xm1, ym1, xm2, ym2 ≤ 1000), представляющие собой координаты глаза банкира (вычисленные майором дедуктивным методом по описанию места происшествия), координаты пострадавшего в момент удара (вычисленные таким же способом), и координаты обоих концов зеркала, соответственно. Гарантируется, что точки (x1, y1) и (x2, y2) не лежат на прямой, проходящей через точки (xm1, ym1) и (xm2, ym2). Также гарантируется, что точки (xm1, ym1) и (xm2, ym2) не совпадают.
Результат
Необходимо вывести «VISIBLE», если точка (x2, y2) видна из точки (x1, y1) в зеркале с координатами концов (xm1, ym1) и (xm2, ym2), или «INVISIBLE», если не видна.
Примеры
исходные данные | результат |
---|
1 0 0 -1 0 0 1 1
| VISIBLE
|
0.000001 0
0 0.000001
-0.000001 -0.000001
0.000001 0.000001
| INVISIBLE
|
Замечания
Надо сказать, что зеркало в машине банкира было двустороннее (такие вот они, современные автомобили). Но свет отражало, как и все зеркала (угол падения равен углу отражения).
Автор задачи: Александр Клепинин (подготовил — Иван Дашкевич)
Источник задачи: Чемпионат Уральского государственного университета, 25 октября 2003 года