[3. 청소기]

프로그램 명: koi4u_cleaner
제한시간: 1.3 초

문제)

우리 은하계에는 여러 우주 쓰레기들이 존재한다. 우리 은하 우주 쓰레기 청소 협회 회장 명우는 추석맞이 우주 대청소를 하기로 하였다.
은하계에는 총 N개의 쓰레기들이 존재하고 있고 각각 마다 질량이 존재한다.

이 문제에서 편의상 우리 은하를 2차원 데카르트 평면으로 다루도록 하겠다.

명우가 은하를 청소할 때 쓰는 청소기는 막대형 청소기다. 명우는 의외로 구두쇠여서 청소기 한 대로만 청소하려고 한다.

그 막대형 청소기의 길이는
2L 이며, 막대는 처음에 (-L,0) 에서 (L,0) 까지 잇는 선분과 같은 형태로 존재한다.
청소기의 중심을 막대의 중점으로 하고 당연히 처음 청소기의 중심점은 (0,0)이다.
이미 우주 쓰레기의 위치는 정해져있고 움직이지 않는다고 하자.

명우는 청소기에 일련의 이동 명령을 주려한다. 명우가 내리는 명령은 좌표의 수열로 표현이 가능하다.
청소기는 항상 x축이나 y축에 평행하게 움직이며 청소 막대는 이동 방향에 항상 수직하게 움직여야한다.
따라서 청소기는 명령에 따라 자동으로 회전하게 된다.
청소기가 직선으로 움직일 때 막대가 지나는 영역에 포함된 쓰레기는 전부 청소기에 빨려 들어간다. (당연히 청소기 막대 끝점에 포함된 쓰레기들 포함)
단, 청소기가 맨처음에 움직일 때에는 회전을 하지 않고 x축에 수직하게 움직인다.
그리고 청소기가 한번에 180º 회전하는 경우는 없다. 즉, 방금 왔던 방향으로 바로 되돌아가는 경우는 없다.

청소기는 아래 그림과 같이 회전한다.
왼쪽 그림은 청소기가 시계방향으로 90º 회전하는 경우를, 오른쪽 그림은 청소기가 반시계방향으로 90º 회전하는 경우를 나타낸다.
회전 할 때 그림에서 검정색으로 색칠 된 영역의 쓰레기들이 청소기에 빨려들어간다. (이 때도 마찬가지로 청소기 막대의 끝점, 원의 경계에 놓여져 있는 쓰레기들도 빨려들어감)

          

당신은 협회의 직원으로 명우를 도와 청소기에 빨려들어가는 쓰레기의 개수와 질량을 구해야한다.

입력 형식)

첫 줄에는 쓰레기의 개수를 나타내는 정수 N과 막대의 길이를 나타내는 자연수 L이 주어진다.
다음 N개의 줄 동안 i+1번째 줄에 i번 쓰레기의 좌표와 질량이 주어진다.
N+2 번째 줄에는 청소기의 경로를 표현하는 수열의 길이를 나타내는 자연수 M이 주어진다.
그 다음 M줄동안 청소기가 움직이는 경로가 좌표 M개로 주어진다.
(이 좌표들은 청소기의 중심이 움직이게 되는 경로를 나타내는 것이며 i번째 좌표를 Xi, Yi 라고 하면 X1=0, Y1=0 이고 1
i < M 일 때 Xi=Xi+1 이거나 Yi=Yi+1 이다.)

출력 형식)

청소기에 빨려 들어가는 쓰레기의 개수와 총 질량을 한 줄에 공백으로 구분하여 출력한다.

입력 예제 1)

4 3
3 0 4
-2 5 3
1 2 2
-4 0 1
3
0 0
0 1
0 2

출력 예제 1)

2 6

입력 예제 2)

8 2
-3 3 1
6 0 2
-1 -1 3
2 3 4
0 5 5
3 4 6
-1 0 7
0 -1 8
6
0 0
0 2
-1 2
-1 3
2 3
2 2

출력 예제 2)

5 23

설명)


두 번째 예제을 위한 그림이다.

초록색으로 색칠되어 있는 영역에 위치한 쓰레기들이 청소기에 빨려들어가며, 해당 쓰레기 들은 노란색으로 표시되어 있다.

채점)

모든 입력되는 수들은 정수이며, 값은 -106이상 106이하다.
채점 데이터의 10%는 청소기의 회전이 일어나지 않으며,
채점 데이터의 100%는 0 ≤ N ≤ 5,000, 2 ≤ M ≤ 5,000 이다.
출처:koi4u 2011 8 모의고사 3 번

[질/답] [제출 현황] [푼 후(0)]
[ 채 점 ] [홈으로]  [뒤 로]