Codeforces Round 113 (Div. 2) |
---|
Закончено |
Перед Вами очередная геометрическая задача. Вам заданы два невырожденных многоугольника A и B координатами своих вершин. Многоугольник A является строго выпуклым. Многоугольник B является произвольным многоугольником без самопересечений и самокасаний. Вершины обоих многоугольников заданы в порядке обхода по часовой стрелке. Для каждого многоугольника никакие три подряд идущие вершины не находятся на одной прямой.
В задаче от Вас требуется проверить, находится ли многоугольник B строго внутри многоугольника A. Это означает, что любая точка многоугольника B должна находиться строго внутри многоугольника A. «Строго» означает, что точка многоугольника B не может находиться на стороне многоугольника A.
В первой строке записано единственное целое число n (3 ≤ n ≤ 105) — количество вершин многоугольника A. Далее в n строках записаны пары целых чисел xi, yi (|xi|, |yi| ≤ 109) — координаты i-ой вершины многоугольника A. Вершины заданы в порядке обхода по часовой стрелке.
В следующей строке записано единственное целое число m (3 ≤ m ≤ 2·104) — количество вершин многоугольника B. Далее в m строках записаны пары целых чисел xj, yj (|xj|, |yj| ≤ 109) — координаты j-ой вершины многоугольника B. Вершины заданы в порядке обхода по часовой стрелке.
Координаты вершин многоугольников в строках разделены единственным пробелом. Гарантируется, что многоугольники A и B являются невырожденными, что многоугольник A является строго выпуклым, что многоугольник B не имеет самопересечений и самокасаний, а также, что никакие три последовательные точки каждого многоугольника не лежат на одной прямой.
В единственной строке выведете ответ на задачу — если многоугольник B строго внутри многоугольника A, выведите «YES», в противном случае выведите «NO» (без кавычек).
6
-2 1
0 3
3 3
4 1
3 -2
2 -2
4
0 1
2 2
3 1
1 0
YES
5
1 2
4 2
3 -3
-2 -2
-2 1
4
0 1
1 2
4 1
2 -1
NO
5
-1 2
2 3
4 1
3 -2
0 -3
5
1 0
1 1
3 1
5 -1
2 -1
NO
Название |
---|