| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 0 | 0 | 0 | 0.000% |
Члены экипажа обнаружили место преступления предателя. Теперь команда корабля хочет оградить это место преступления.
Место преступления выглядит как выпуклый многоугольник $A$. Команда корабля хочет оградить его другим выпуклым многоугольником $B$. Причем, у $B$ должно быть минимальное возможное число вершин. И все вершины многоугольника $A$ должны лежать на границе многоугольника $B$.
Помогите команде выбрать такой многоугольник $B$.
В первой строке дано одно целое число $t$ --- количество тестовых наборов ($1 \le t \le 1\,000$). Далее дано описание $t$ тестовых наборов.
В первой строке тестового набора дано одно целое число $n$ --- количество вершин в многоугольнике $A$ ($3 \le n \le 100$).
В следующих $n$ строках даны по два целых числа $x_i$ и $y_i$ --- координаты $i$-й вершины многоугольника ($|x_i|, |y_i| \le 1\,000$). Вершины многоугольника даны в порядке обхода против часовой стрелки. Гарантируется, что многоугольник является строго выпуклым. То есть, в том числе, никакие три его последовательные вершины не лежат на одной прямой.
Для каждого тестового набора сначала выведите одно целое число $m$ --- количество вершин в найденном многоугольнике $B$.
В следующих $m$ строках выведите по два вещественных числа $x_i$ и $y_i$ --- координаты $i$-й вершины многоугольника. Выводите вершины многоугольника в порядке обхода против часовой стрелки. Выведенный многоугольник должен быть строго выпуклым. А также, все вершины исходного многоугольника должны находиться на расстоянии не более $10^{-6}$ от границы выведенного многоугольника.
3 3 1 0 1 1 0 1 4 0 0 1 0 1 1 0 1 5 1 0 3 0 3 2 1 2 0 1
3 0.0 0.0 2.0 0.0 0.0 2.0 3 0.0 0.0 2.0 0.0 0.0 2.0 3 3.0 0.0 3.0 4.0 -1.0 0.0