21 subscriber

F. Чай с программистами. Чемпионат по программированию Яндекса. Фронтенд, Квалификация

Ограничение времени - 0.5 секунд
Ограничение памяти - 64Mb

Два программиста сели попить чаю, да вот незадача — пирог попался сложной формы. Помогите разделить им его справедливо.

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

Граница предсталена в виде массива вершин, каждая веришна это пара координат (массив упорядочен):

[[x0, y0], [x1, y1], ...]}

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

Подсказка: площадь многоугольника можно посчитать, например, вот так.

Формат ввода

[  
    [0, 0],  
    [0, 1],  
    [1, 1],  
    [1, 0]  
]

Формат вывода

[  
    [0, 0],  
    [1, 1]  
]

Примечания

Решение необходимо предоставить в виде CommonJS-модуль:

module.exports = function (piePolygon) {  
    // Your code here.  
};

Вердикт RE также означает, что отправленное решение неверно.