Олимпиадный тренинг

Задача . B. Аэродинамический


Задача

Темы: геометрия *1800

Ги-Мануэль и Тома хотят построить космический корабль, являющийся выпуклым многоугольником.

Вам дан строго выпуклый (т. е. никакие три вершины не лежат на одной прямой) многоугольник \(P\), заданный координатами его точек на плоскости. Обозначим как \(P(x,y)\) многоугольник, полученный параллельным переносом \(P\) на вектор \(\overrightarrow {(x,y)}\). Следующий рисунок показывает пример параллельного переноса:

Обозначим как \(T\) множество точек, являющееся объединением всех \(P(x,y)\) таких, что начало координат \((0,0)\) лежит в \(P(x,y)\) (в том числе и на границе). Также можно дать эквивалентное определение: точка \((x,y)\) принадлежит \(T\), только если в \(P\) существуют две точки \(A,B\) такие, что \(\overrightarrow {AB} = \overrightarrow {(x,y)}\). Можно показать, что \(T\) тоже является многоугольником. Например, если \(P\) — правильный треугольник, то \(T\) — правильный шестиугольник; на рисунке \(P\) нарисован чёрным цветом, а некоторые \(P(x,y)\), в которых лежит начало координат, нарисованы цветным: Космический корабль будет иметь наилучшие аэродинамические показатели, если \(P\) и \(T\) подобны. Ваша задача — проверить, что многоугольники \(P\) и \(T\)подобны.

Входные данные

Первая строка содержит целое число \(n\) (\(3 \le n \le 10^5\)) — количество точек.

\(i\)-я из следующих \(n\) строк содержит два целых числа \(x_i, y_i\) (\(|x_i|, |y_i| \le 10^9\)), обозначающих координаты \(i\)-й вершины многоугольника.

Гарантируется, что точки даны в порядке обхода против часовой стрелки, и что они образуют строго выпуклый многоугольник.

Выходные данные

Выведите «YES» с новой строки, если \(P\) и \(T\) подобны. Иначе, выведите «NO» с новой строки. Вы можете выводить каждую букву в любом регистре (строчную или заглавную).

Примечание

На рисунке показан первый тестовый пример: \(P\) и \(T\) — квадраты. Второй пример был разобран в условии.


Примеры
Входные данныеВыходные данные
1 4
1 0
4 1
3 4
0 3
YES
2 3
100 86
50 0
150 0
nO
3 8
0 0
1 0
2 1
3 3
4 6
3 6
2 5
1 3
YES

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w644
Комментарий учителя