eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Археологи

Археологи

Ученые-археологи планеты Олимпия недавно обнаружили руины древнего города, кторый принадлежал неизвестной ранее цивилизации. Все, что сохранилось, --- это \textit{\textbf{N}} башен и \textit{\textbf{M}} стен, каждая из которых соединяет некоторую пару башен между собой. В упрощенной модели башни можно представить точками на плоскости, а стены --- отрезками, которые их соединяют. Само собой, две стены не могут пересекаться в середине, хоть и могут выходить из одной и той же башни. С целью изучения города были задействованы \textit{K }археологов, которые расположились на территории города. В упрощенной модели их положения можно изобразить точками на плоскости. Ни один археолог не находится на башне или на стене. На территории города нет никакой мобильной или радио- связи, поэтому общаться между собой археологи могут только при встрече. Считается, что два археолога могут встретиться друг с другом, если они оба могут дойти от своих изначальных позиций до одной и той же точки плоскости, при этом не пересекая стен и башен. Между двумя точками археолог может передвигаться по произвольной кривой. \textbf{Задание} Напишите программу archaeology, которая по данным о расположении башен, стен и археологов найдет количество пар археологов, которые могут встретиться друг с другом. \InputFile В первой строке файла содержатся \textbf{3} натуральных числа \textit{\textbf{N, M }}и\textit{\textbf{ K}}\textbf{ (1 ≤ }\textit{\textbf{N }}\textbf{≤ 5∙10^4, 1 ≤ }\textit{\textbf{M }}\textbf{≤ 10^5, 1 ≤ }\textit{\textbf{K }}\textbf{≤ 5∙10^4)} --- количество башен, стен и археологов соответственно. Следующие\textbf{ }\textit{\textbf{N}}\textit{ }строк содержат по 2 целых числа, каждое из которых не превосходит \textbf{10^6 }по абсолютной величине --- координаты башен. Никакие две башни не расположены в одной точке. Следующие \textit{M }строк содержат по\textbf{ 2} разных целых числа --- номера башен, которые соединены очередной стеной. Башни нумеруются числами от \textbf{1} до \textit{\textbf{N}}. Гарантируется, что \textbf{2} стены не могут иметь никаких других общих точек, кроме их концов. Также гарантируется, что никакая башня не лежит ни на какой стене, кроме случая, когда эта башня является концом стены. Следующие \textit{\textbf{K}} строк содержат по целых числа, каждое из которых по модулю не превосходит \textbf{10^6}, --- координаты археологов. Ни один археолог не находится на стене или на башне. \OutputFile Выходной файл должен содержать одно число --- количество пар археологов, которые могут встретиться друг с другом. \Scoring Набор тестов состоит из \textbf{6} блоков, для которых дополнительно выполняются такие условия: \begin{enumerate} \item 15 баллов: 2 ≤ \textit{N }≤ 4, 1 ≤ \textit{K }≤ 10. \item 15 баллов: 3 ≤ \textit{N }≤ 1000, 1 ≤ \textit{K }≤ 1000, каждая башня являеся концом не более чем двух стен. \item 20 баллов: все стены параллельны осям координат, все координаты не превосходят 500 по абсолютной величине. \item 15 баллов: 2 ≤ \textit{N}∙\textit{K }≤ 1 000 000. \item 15 баллов: все стены параллельны осям координат. \item 20 баллов: нет дополнительных ограничений. \end{enumerate}
Лимит времени 0.2 секунд
Лимит использования памяти 256 MiB
Входные данные #1
4 5 7
0 0
10 0
10 10
0 10
1 2
2 3
3 4
4 1
4 2
1 1
2 2
9 9
8 8
-1 -1
-5 -5
100 100
Выходные данные #1
5
Автор Ярослав Твердохлеб
Источник XXVII Всеукраинская ученическая олимпиада по информатике (2014) Днепропетровск