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