Ограничения: время – 2s/4s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Год назад Флатландию потряс серьезный экономический кризис,
после которого, с целью снижения издержек, фермер Джон и фермер Билл
решили объединить свои фермы. За год совместной продуктивной
работы на объединенной территории было построено четыре сарая.
Однако последствия кризиса в последнее время ощущаются все меньше,
да и совместное ведение хозяйства — дело непростое. Поэтому фермеры
решили снова разделить свои фермы.
Для раздела ферм решено было построить забор. Разумеется, прежде чем
приступить к строительству, фермеры взяли карту совместного хозяйства
и стали обсуждать возможное положение забора. Забор должен представлять
собой прямую линию. Поскольку по закону границы участков должны
быть направлены либо с севера на юг, либо с запада на восток, забор
на карте должен представлять собой прямую, параллельную краю карты —
вертикальную либо горизонтальную.
Единственная проблема — четыре построенных за год совместной
работы сарая. Разумеется, каждому фермеру в результате раздела должно
достаться по два сарая. Поэтому после постройки забора два сарая должны
оказаться с одной стороны от него, а два других — с другой.
Помогите фермерам найти такое положение для забора. Забор может проходить
непосредственно вдоль стены сарая.
Ввод
Входной файл содержит четыре четверки целых чисел. Каждая четверка
описывает один сарай. Первые два числа в описании сарая — это координаты
на карте его левого нижнего угла, следующие два числа — координаты
правого верхнего угла.
Система координат размещена таким образом, что ось `"OX"` направлена
слева направо, а ось `"OY"` — снизу вверх. Оси координат параллельны краям карты.
Стороны сараев также параллельны краям карты. Сараи не имеют общих точек.
Каждый сарай имеет ненулевую площадь. Все координаты неотрицательны и не превышают `10^9`.
Вывод
Если построить забор, удовлетворяющий всем условиям, невозможно, выведите
на первой строке выходного файла слово "Impossible".
В противном случае на первой строке выведите слово "Vertical" если
забор следует построить параллельно вертикальному краю карты или слово
"Horizontal", если забор следует построить параллельно горизонтальному
краю карты.
На следующей строке выведите координату `x` всех точек забора, если
он должен быть вертикальным, либо координату `y` всех точек забора, если он
должен быть горизонтальным. Выведенная координата должна быть целым числом
(несложно показать, что если забор можно построить, то его можно построить так, чтобы
искомая координата была целой).
Пример ввода 1
0 0 1 1
1 2 3 3
4 0 5 3
3 4 6 7
Пример вывода 1
Vertical
3
Пример ввода 2
0 0 1 1
1 2 3 3
4 0 5 2
2 4 6 7
Пример вывода 2
Horizontal
2
Пример ввода 3
0 0 1 1
1 2 3 3
4 0 5 3
2 4 6 7
Пример вывода 3
Impossible
Приведенные ниже рисунки соответствуют примерам входных данных.
Источник: V Всероссийская командная олимпиада школьников по программированию, 2004