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

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

지도 인터페이스

면접 대비

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

요약
역 좌표와 방문 순서가 주어질 때, 방문한 역을 모두 포함하는 가장 작은 축 정렬 직사각형 안에 들어오는 역의 수를 센다.
난이도

쉬움10점 중 2점

유형
배열, 구현, 완전 탐색, 기하
정답자
아직 제출이 없습니다

문제

많은 대중교통 시스템은 원하는 경로를 찾을 수 있는 온라인 인터페이스를 제공한다. 좋은 사용자 인터페이스 설계의 한 가지 원칙은 필요한 정보만 정확히 보여 주어 사용자가 중요한 부분에 집중할 수 있게 하는 것이다. 노선도를 그래픽으로 보여 줄 때 이는 곧, 지나가는 모든 역을 담되 그 외의 역은 되도록 적게 담은 지도를 보여 주는 것을 뜻한다. 한편 대부분의 사용자는 축척이 일정한 직사각형 지도에 익숙하므로, 여기서도 직사각형 지도만 사용한다.

문제를 구체적으로 정리하면 다음과 같다. 시스템에 있는 모든 역의 위치가 (x,y)(x, y) 좌표로 주어지고, 당신의 노선이 지나가는 역들의 목록이 순서대로 주어진다. 당신의 여정 전체를 포함하는, 변이 좌표축과 나란한 가장 작은 직사각형 안에 총 몇 개의 역이 들어가는지 구하여라. 직사각형의 경계선 위에 있는 역도 안에 있는 것으로 센다.

입력

첫째 줄에 데이터 집합의 개수 KK가 주어진다. 이어서 KK개의 데이터 집합이 다음 형식으로 주어진다.

  • 각 데이터 집합의 첫째 줄에는 두 정수 nn과 mm이 주어진다. nn은 시스템 전체의 역 수로 2≤n≤5002 \le n \le 500이며, mm은 여정이 지나가는 역의 수로 2≤m≤n2 \le m \le n이다.
  • 다음 nn개의 줄에는 각각 두 정수 xix_i yiy_i가 주어지며, 이는 ii번째 역의 좌표이다. 역은 11번부터 nn번까지 번호가 매겨져 있다.
  • 그다음 줄에는 방문하는 역들의 번호 mm개가 방문 순서대로 주어진다.

출력

각 데이터 집합마다 먼저 Data Set x:를 한 줄에 출력한다. 여기서 xx는 데이터 집합의 번호이며 11부터 시작한다. 그다음 줄에 여정을 포함하는 가장 작은 직사각형 안에 들어가는 역의 총 개수를 출력한다. 연속한 두 데이터 집합 사이에는 빈 줄을 하나 넣어 구분한다.

예제1

  1. 예제 1

    입력
    1
    8 4
    0 0
    6 3
    0 2
    7 2
    0 -1
    4 4
    1 4
    3 5
    1 7 6 2
    
    예상 출력
    Data Set 1:
    5