|
Лазерная пушка
(Время: 1 сек. Память: 16 Мб Сложность: 32%)
В центре декартовой системы координат (0, 0) находится пушка, которая стреляет лазерным лучом в направлении точки (1, 1). Вы можете расставлять двусторонние зеркала, меняющие направление луча по законам отражения света. Зеркала могут находиться только в точках с целочисленными координатами и должны быть параллельны одной из осей координат.
Вам необходимо расставить минимальное количество зеркал так, чтобы лазерный луч поразил цель в координате (X, Y).
Входные данные
Входной файл INPUT.TXT содержит два целых числа X и Y, не превосходящих по модулю 10 000, записанные в разных строках – координаты цели. Точка (X, Y) не совпадает с началом координат.
Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите число N – необходимое количество зеркал. Следующие N строк должны содержать информацию о каждом зеркале. В i-й строке должны быть записаны через пробелы два целых числа xi и yi и один символ ti, обозначающие координаты (xi, yi) точки, в которых установлено i-е зеркало, и тип этого зеркала ti. Если ti является символом «V», то i-е зеркало размещено вертикально, если же ti является символом «H», то зеркало размещено горизонтально. Например, строка «-2 5 H» обозначает горизонтальное зеркало в точке (-2, 5). Зеркала можно выводить в любом порядке. Зеркало нельзя размещать в точке (0, 0), также нельзя размещать два зеркала в одной точке. Значения xi и yi не должны по модулю превосходить 100 000. Также, разумеется, нельзя допустить, чтобы отражённый луч попал в пушку.
Если вариантов ответа несколько, выведите любой из них. Если поразить цель в соответствии с условиями задачи невозможно, программа должна вывести одно число «-1». Если для поражения цели зеркала не нужны, программа должна вывести одно число «0».
Пример
№ | INPUT.TXT | OUTPUT.TXT | Пояснение |
1 | 5 1 | 1 3 3 H |  |
Система оценки
Решения, правильно работающие только для X ≥ 0 и Y ≥ 0, будут оцениваться в 40 баллов.
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
| |