Проблема счастливого конца (на самом деле теорема) утверждает, что
Любое множество из пяти точек на плоскости общего положения имеет подмножество из четырех точек, которые образуют вершины выпуклого четырехугольника.
Эта проблема была названа Полом Эрдосом, когда два математика, которые первыми работали над этой проблемой, Эстер Кляйн и Джордж Секерес, обручились и впоследствии поженились.
Разъяснения:
- Общее положение здесь означает, что никакие три точки не являются коллинеарными.
Четырехугольник, образованный четырьмя вершинами, всегда будет считаться непересекающимся, независимо от порядка точек. Например, если четыре точки
[1 1]
,[1 2]
,[2 1]
,[2 2]
предполагаемый четырехугольник является квадратом, а не бантик:Непересекающийся четырехугольник является выпуклым, если внутренний угол не превышает 180 градусов; или эквивалентно, если обе диагонали лежат внутри четырехугольника.
Соревнование
Учитывая 5 точек с положительными целочисленными координатами, выведите 4 из тех точек, которые образуют выпуклый четырехугольник.
правила
Если существует несколько решений (то есть несколько наборов из 4 точек), вы можете последовательно выбрать вывод одного из них или всех.
Форматы ввода и вывода, как обычно, гибкие (массивы, списки, список списков, строки с разумными разделителями и т. Д.).
Код гольф, побеждает меньше байтов.
Контрольные примеры
Входные данные:
[6 8] [1 10] [6 6] [5 9] [8 10]
Возможен только один выход:
[6 8] [1 10] [6 6] [5 9]
Входные данные:
[3 8] [7 5] [6 9] [7 8] [5 1]
Есть пять решений:
[3 8] [7 5] [6 9] [7 8] [3 8] [7 5] [6 9] [5 1] [3 8] [7 5] [7 8] [5 1] [3 8] [6 9] [7 8] [5 1] [7 5] [6 9] [7 8] [5 1]
Входные данные:
[4 8] [1 9] [9 9] [10 2] [1 6]
Есть три решения:
[4 8] [1 9] [10 2] [1 6] [4 8] [9 9] [10 2] [1 6] [1 9] [9 9] [10 2] [1 6]
Чтобы проиллюстрировать, вот три решения этого случая: