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

Археологи

Археологи

Учені-археологи планети Олімпії нещодавно знайшли руїни старовинного міста, яке належало невідомій раніше цивілізації. Все, що збереглося, --- це \textit{\textbf{N}} башт та \textit{\textbf{M}} стін, кожна з яких сполучає деяку пару башт між собою. У спрощеній моделі башти можна представити точками на площині, а стіни --- відрізками, що їх сполучають. Природно, дві стіни не можуть перетинатись всередині, хоча можуть виходити з однієї і тієї ж башти. Для вивчення міста було задіяно \textit{K} археологів, які розташувались на території міста. У спрощеній моделі їхні положення можна зобразити точками на площині. Жоден з археологів не знаходиться на башті або на стіні. На території міста жодного мобільного чи радіо- зв’язку немає, тому спілкуватись між собою археологи можуть лише при зустрічі. Вважається, що два археологи можуть зустрітись одне з одним, якщо вони обидва можуть дійти від своїх початкових позицій до однієї і тієї самої точки площини, при цьому не перетинаючи стін та башт. Від однієї точки до іншої археолог може пересуватись по довільній кривій. \textbf{Завдання} Напишіть програму, що за даними про розташування башт, стін та археологів знайде кількість пар археологів, які можуть зустрітися один з іншим. \InputFile У першому рядку файла містяться три натуральних числа\textbf{ }\textit{\textbf{N, M }}\textbf{і}\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)} --- кількість башт, стін та археологів відповідно. Наступні \textit{N }рядків містять по 2 цілих числа, кожне з яких не перевищує за абсолютною величиною \textbf{10^6} --- координати башт. Жодні 2 башти не розташовані в одній точці. Наступні \textit{\textbf{M}}\textit{ }рядків містять по \textbf{2} різних цілих числа --- номери башт, які сполучені черговою стіною. Башти нумеруються числами від \textbf{1} до \textit{\textbf{N}}. Гарантується, що дві стіни не можуть мати ніяких інших спільних точок, окрім своїх кінців. Також гарантується, що жодна башта не лежить на жодній стіні, окрім випадку, коли башта є кінцем стіни. Наступні \textit{K} рядків містять по \textbf{2} цілих числа, кожне з яких не перевищує за модулем \textbf{10^6} --- координати археологів. Жоден археолог не знаходиться на стіні чи на башті. \OutputFile Вихідний файл archaeology.sol повинен містити єдине число --- кількість пар археологів, які можуть зустрітися один з іншим. \Scoring Набір тестів складається з 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) Дніпропетровськ