Час

08:19:41
25 May 2012
Версія для друку

Повінь

prb281   У 1964 році катастрофічна повінь потрясла Загреб. Багато будівель було зруйновано водою, що вдарила по їхніх стінах. У цій задачі вам буде надано спрощену модель міста перед повінню, і ви маєте визначити, які із стін залишаться ціоими після повені.

   Модель складається з N точок на координатній площині і W стін. Кожна стіна з'єднує пару точок і не проходить через інші точки. Модель також задовольняє такі властивості:

    - ніякі дві стіни не перетинаються і не накладаються на іншу, за виключенням того, що вони можуть мати спільні кінці;

   - кожна стіна є паралельною чи до горизонтальної, чи до вертикальної координатної осі.

   На початку вся координатна площина є сухою. У момент часу нуль вода миттєво затоплює зовнішній простір (простір, не обмежений стінами). Рівно через годину кожна стіна, у якої з одного боку - вода, а з іншого боку - повітря, руйнується під тиском води. Після цього вода миттєво затоплює простір, який перестав бути обмеженим цілими стінами. У результаті цього можуть з'явитися нові стіни, у яких з одного боку вода, а з другого боку - повітря. Ще через годину ці стіни також руйнуються, і вода потрапляє в новий простір. Так продовжується до тих пір, поки вода не затопить всю територію.

   Приклад процесу руйнування показано на рисунку (інтервал між станами - одна година).

    Завдання

   Напишіть програму, яка за заданими координатами N точок і опису W стін, що з'єднують ці точки, визначає, які стіни залишаться цілими після повені.


Технічні умови

    Вхідні дані

   Перший рядок вхідних даних містить ціле число N (2 ≤ N ≤ 100 000), кількість точок на площині. Кожен з наступних N рядків містить по два цілих числа X i Y (кожне від 0 до 1 000 000 включно) - координати точки. Точки нумеруються від 1 до N в тому порядку, у якому вони задані. Ніякі дві точки не співпадають.

   Наступний рядок містить ціле число W (1 ≤ W ≤ 2N) - кількість стін.

   Кожен з наступних W рядків містить по два різних цілих числа A i B (1 A, B ≤ N), які означають, що перед повінню була стіна, що з'єднувала точки A i B. Стіни нумеруються від 1 до W в тому порядку, у якому вони задані.

    Вихідні дані

   Перший рядок вихідних даних має містити ціле число K - кількість стін, які залишаться цілими після повені.

   Наступні K рядків мають містити номери стін, які залишаться цілими, по одному номеру в кожному рядку. Номери стін можна виводити в довільному порядку.


Інформація про задачу

Ліміт часу: 2 секунди
Ліміт пам`яті: 64 MB
Бали за пройдений тест: 4.16667
Складність: 80% 1/5
Джерело: IOI-2007, День 1

Приклад

Приклад вхідних даних

15
1 1
8 1
4 2
7 2
2 3
4 3
6 3
2 5
4 5
6 5
4 6
7 6
1 8
4 8
8 8
17
1 2
2 15
15 14
14 13
13 1
14 11
11 12
12 4
4 3
3 6
6 5
5 8
8 9
9 11
9 10
10 7
7 6

Приклад вихідних даних

4
6
15
16
17


← Прибирання території Список задач Вітрила →