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

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

압류 구역

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

요약
각 다각형 구역 안에 있는 집 가운데 담보권 상실(포렉클로저) 비율을 백분율로 구해 두 자리 소수로 반올림하고, 비율이 높은 순으로 정렬해 출력한다. 비율이 같으면 구역 번호가 작은 것을 먼저 둔다.
난이도

보통10점 중 5점

유형
기하, 정렬, 구현
정답자
아직 제출이 없습니다

문제

여러 채의 집 위치와, 각 집이 현재 압류 상태인지 여부가 주어집니다. 또한 여러 개의 구역이 주어지며, 각 구역은 스스로 교차하지 않는 단순 다각형으로 표현됩니다. 서로 다른 구역은 서로 겹칠 수 있으므로, 한 집이 여러 구역에 동시에 속할 수 있습니다.

각 구역에 대해 압류율, 즉 그 구역 안에 있는 집들 중 압류 상태인 집의 비율(백분율)을 구하고, 이 비율을 기준으로 구역들을 정렬해 출력하세요.

입력

첫째 줄에 데이터 집합의 개수 KK가 주어집니다. 각 데이터 집합은 다음과 같은 형식입니다.

  • 첫째 줄에 두 정수 HH와 BB가 주어집니다. 각각 집의 수(1≤H≤10001 \le H \le 1000)와 구역의 수(1≤B≤1001 \le B \le 100)입니다.
  • 다음 HH개의 줄에는 집이 하나씩 주어집니다. 각 줄에는 집의 xx, yy 좌표(실수)와 문자 하나가 있으며, 압류 상태이면 Y, 아니면 N입니다.
  • 다음 BB개의 줄에는 구역이 하나씩 주어집니다. 각 줄은 다각형 꼭짓점의 개수 c≥3c \ge 3으로 시작하고, 이어서 2c2c개의 실수 x1 y1 x2 y2 … xc ycx_1\ y_1\ x_2\ y_2\ \dots\ x_c\ y_c가 반시계 방향 순서로 꼭짓점을 나타냅니다.

어떤 집도 구역의 경계 위에 정확히 놓이지 않으며, 모든 구역은 적어도 하나의 집을 포함합니다.

출력

각 데이터 집합에 대해 먼저 Data Set x: 줄을 출력합니다. 여기서 xx는 데이터 집합의 번호(1부터 시작)입니다. 그다음 BB개의 구역마다 한 줄씩 출력합니다.

각 구역 줄의 형식은 b: r%이며, bb는 구역의 번호(입력에서 1부터 시작하는 순서), rr은 그 구역의 압류율을 백분율로 나타낸 값으로 소수점 아래 둘째 자리까지 반올림합니다(0.5는 올림).

압류율이 큰 구역부터(비증가 순) 정렬하고, 값이 같으면 구역 번호가 작은 것을 먼저 출력합니다. 연속한 데이터 집합 사이에는 빈 줄을 하나 출력합니다.

예제1

  1. 예제 1

    입력
    1
    8 3
    0 0 Y
    0 1 N
    1 0.5 N
    0.7 0.7 Y
    -0.5 0 N
    -5 0 N
    0.7 0 Y
    3.4 0.95 N
    3 -1 -0.5 1 -0.5 -1 0.75
    4 -0.2 -0.5 1 -0.2 3 1.5 -0.2 1.5
    5 0.5 0 1.5 -0.2 4 1.2 1 0 0.5 1.5
    
    예상 출력
    Data Set 1:
    3: 66.67%
    2: 60.00%
    1: 50.00%