Задачі
Опукла оболонка
Опукла оболонка
Задано n точок на площині. Побудувати їх опуклу оболонку. Гарантується, що опукла оболонка не вироджена.
Вхідні дані
У першому рядку задана кількість точок n (3 ≤ n ≤ 105
). Наступні n рядків містять пари цілих чисел xi
та yi
(-109
≤ xi
, yi
≤ 109
) - координати точок.
Будьте акуратними! Точки довільні. Бувають співпадаючі, бувають такі, що лежать на одній прямій і у великій кількості.
Вихідні дані
У першому рядку виведіть число вершин n опуклої оболонки. Наступні n рядків повинні містити координати вершин у порядку обходу. Ніякі три точки, що йдуть підряд, не повинні лежати на одній прямій.
Вхідні дані #1
5 0 0 2 0 0 2 1 1 2 2
Вихідні дані #1
4 0 0 0 2 2 2 2 0