아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

홍수

시간 제한1초메모리 제한128 MB

요약
서로 교차하지 않고 축에 평행한 벽들로 이루어진 구조에서 바깥에서부터 시간 단위로 물이 퍼질 때 끝까지 남는 벽을 구한다.
난이도

어려움10점 중 8점

유형
그래프, BFS, 기하, 시뮬레이션
정답자
아직 제출이 없습니다

문제

1964년, 한 도시에 큰 홍수가 닥쳤습니다. 물이 벽을 밀어붙이면서 많은 건물이 파괴되었습니다. 이 문제에서는 홍수가 나기 직전 도시를 단순화한 모형이 주어지며, 물이 전체를 모두 침수시킨 뒤 어떤 벽이 무너지지 않고 남는지 판별해야 합니다.

모형은 좌표평면 위의 점 NN개와 벽 WW개로 이루어져 있습니다. 각 벽은 두 점을 잇는 선분이며, 다른 점을 지나가지 않습니다. 또한 모형은 다음 성질을 만족합니다.

  • 어떤 두 벽도 서로 교차하거나 겹치지 않습니다. 다만 끝점에서 맞닿을 수는 있습니다.
  • 모든 벽은 가로축 또는 세로축과 평행합니다.

처음에는 평면 전체가 말라 있습니다. 시각 00에 물이 바깥 영역(벽으로 둘러싸이지 않은 모든 공간)을 순식간에 침수시킵니다. 정확히 한 시간 뒤, 한쪽에는 물이 있고 다른 쪽에는 공기가 있는 모든 벽이 수압을 견디지 못하고 무너집니다. 그러면 물이 새로 드러난 영역으로 흘러 들어갑니다. 이때 한쪽은 물, 다른 쪽은 공기인 벽이 새로 생길 수 있습니다. 다시 한 시간 뒤 이 벽들도 무너지고 물이 더 퍼집니다. 이 과정은 물이 평면 전체를 침수시킬 때까지 반복됩니다.

아래 그림은 이 과정을 보여 줍니다.

시각 0의 상태입니다. 색칠된 칸은 침수된 영역, 흰 칸은 마른 영역(공기)을 나타냅니다.한 시간 뒤의 상태입니다.두 시간 뒤의 상태입니다. 물이 전체 영역을 침수시켰고, 남은 4개의 벽은 더 이상 무너뜨릴 수 없습니다.

NN개 점의 좌표와 WW개 벽의 정보가 주어질 때, 홍수가 끝난 뒤 무너지지 않고 남아 있는 벽을 구하는 프로그램을 작성하세요.

입력

첫째 줄에 점의 개수 NN (2≤N≤1000002 \le N \le 100000)이 주어집니다.

다음 NN개의 줄에는 각각 한 점의 좌표 XX와 YY (0≤X,Y≤10000000 \le X, Y \le 1000000)가 주어집니다. 점은 주어진 순서대로 11번부터 NN번까지 번호가 매겨지며, 좌표가 같은 두 점은 없습니다.

그다음 줄에는 벽의 개수 WW (1≤W≤2N1 \le W \le 2N)가 주어집니다.

다음 WW개의 줄에는 각각 서로 다른 두 정수 AA와 BB (1≤A,B≤N1 \le A, B \le N)가 주어지며, 이는 홍수 전에 점 AA와 점 BB를 잇는 벽이 있었음을 뜻합니다. 벽은 주어진 순서대로 11번부터 WW번까지 번호가 매겨집니다.

출력

첫째 줄에 홍수가 끝난 뒤 남아 있는 벽의 개수 KK를 출력합니다.

다음 KK개의 줄에 남아 있는 벽의 번호를 한 줄에 하나씩, 증가하는 순서로 출력합니다.

예제2

  1. 예제 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
    
  2. 예제 2

    입력
    9
    0 0
    2 0
    4 0
    4 2
    4 4
    2 4
    0 4
    0 2
    2 2
    12
    1 2
    2 3
    3 4
    4 5
    5 6
    6 7
    7 8
    8 1
    2 9
    9 6
    8 9
    9 4
    
    예상 출력
    4
    9
    10
    11
    12