Оболочка с точками на сторонах
1000 мс · 256 МБ · всё или ничего
Постройте выпуклую оболочку набора точек, но на этот раз в ответ должны войти все точки границы, включая лежащие внутри сторон.
Формат ввода
В первой строке - число точек ().
В следующих строках - координаты точек, целые, по модулю не превосходящие . Точки могут повторяться.
Формат вывода
В первой строке выведите число различных точек границы оболочки, затем сами точки.
Начинайте с самой левой из самых нижних и идите против часовой стрелки. Если все точки лежат на одной прямой, выведите различные точки подряд от того конца отрезка, который ниже (а при равных - левее), к другому.
Примеры
ввод
5 0 0 1 0 2 0 2 2 0 2
вывод
5 0 0 1 0 2 0 2 2 0 2
ввод
3 0 0 1 1 2 2
вывод
3 0 0 1 1 2 2
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.