만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

카메라 제어

시간 제한8초메모리 제한512 MB

요약
고정된 카메라 주위를 시간에 따라 움직이는 여러 멤버가 주어지고, 두 멤버가 같은 반직선 위에 있을 때만 추적 대상을 바꿀 수 있다. 노래하는 멤버를 비추는 총 시간의 최댓값을 구한다.
난이도

어려움10점 중 8점

유형
기하, 동적 계획법, 구간
정답자
아직 제출이 없습니다

문제

ACM48은 일본에서 인기가 많은 댄스 보컬 그룹이다. 이번 겨울에 ACM48은 월드 투어 공연을 준비하고 있고, 당신은 카메라 엔지니어로 투어에 합류했다.

당신이 맡은 일은 무대 위 카메라를 제어하는 소프트웨어를 만드는 것이다. 무대는 2차원 평면으로 생각한다. 소프트웨어로 카메라를 원하는 방향으로 돌릴 수 있지만, 카메라의 위치는 바꿀 수 없다.

공연이 진행되는 동안 각 멤버는 자신의 경로를 따라 움직이면서 자신에게 배정된 파트를 부른다. 경로는 꺾인 선분으로 주어진다. 멤버는 시각 0에 첫 번째 점에서 출발하고 각 선분 위를 일정한 속력으로 움직여서 시각 tjt_j에 jj번째 점에 도착한다. 마지막 점에 도착한 뒤에는 그 자리에 계속 머문다.

공연 내내 카메라는 멤버 한 명을 계속 잡고 있어야 한다. 시각 tt에 카메라가 잡는 멤버를 바꾸려면 그 순간에 지금 잡고 있는 멤버와 다음에 잡을 멤버가 카메라에서 같은 방향에 있어야 한다. 즉 두 사람이 카메라를 끝점으로 하는 같은 반직선 위에 있을 때만 바꿀 수 있다.

노래하고 있는 멤버를 카메라가 잡고 있는 시간의 합이 최대가 되도록 할 때, 그 최댓값을 구한다.

다음을 가정한다.

  • 시각 0에는 아무 멤버나 잡고 시작할 수 있다.
  • 어떤 멤버의 경로도 카메라 위치를 지나지 않는다.
  • 각 멤버는 마지막 점에 도착한 뒤 그 자리에 머문다.

입력

입력은 여러 개의 데이터 세트로 이루어진다. 각 데이터 세트의 형식은 다음과 같다.

N
cx cy
1번 멤버의 정보
...
N번 멤버의 정보

NN (1≤N≤501 \le N \le 50)은 멤버 수이고, (cx,cy)(cx, cy)는 카메라의 좌표이다. 그다음 NN명의 멤버 정보가 차례로 주어진다. ii번 멤버의 정보는 다음 형식이다.

Mi
xi,1 yi,1 ti,1
...
xi,Mi yi,Mi ti,Mi
Li
bi,1 ei,1
...
bi,Li ei,Li

MiM_i (1≤Mi≤1001 \le M_i \le 100)는 ii번 멤버 경로에 있는 점의 개수이고, (xi,j,yi,j)(x_{i,j}, y_{i,j})는 경로의 jj번째 점이다. ti,jt_{i,j}는 ii번 멤버가 jj번째 점에 도착하는 시각으로, ti,1=0t_{i,1} = 0이고 ti,j<ti,j+1≤103t_{i,j} < t_{i,j+1} \le 10^3이다. LiL_i (0≤Li≤1000 \le L_i \le 100)는 ii번 멤버가 맡은 파트의 개수이고, bi,kb_{i,k}와 ei,ke_{i,k} (0≤bi,k<ei,k<bi,k+1<ei,k+1≤1030 \le b_{i,k} < e_{i,k} < b_{i,k+1} < e_{i,k+1} \le 10^3)는 kk번째 파트의 시작 시각과 끝 시각이다.

입력값은 모두 정수이고, 모든 좌표의 절댓값은 10310^3 이하이다. N=0N = 0인 줄이 나오면 입력이 끝난다. 이 줄은 데이터 세트로 처리하지 않는다.

출력

각 데이터 세트마다 노래하는 멤버를 카메라가 잡을 수 있는 시간의 최댓값을 한 줄에 출력한다. 값은 소수점 아래 여섯째 자리까지 반올림해서 출력한다.

예제5

  1. 예제 1

    입력
    2
    0 0
    2
    -5 5 0
    5 5 10
    1
    0 6
    2
    5 5 0
    -5 5 10
    1
    6 10
    1
    7 -65
    2
    -65 10 0
    65 1 3
    2
    0 1
    23 24
    2
    0 0
    2
    100 10 0
    -10 10 10
    5
    0 1
    2 3
    4 5
    6 7
    8 9
    2
    10 0 0
    0 10 10
    5
    1 2
    3 4
    5 6
    7 8
    9 10
    0
    
    예상 출력
    9.000000
    2.000000
    5.988620
    
  2. 예제 2

    입력
    2
    0 0
    2
    1 0 0
    10 0 10
    1
    0 2
    2
    2 0 0
    20 0 10
    1
    3 5
    2
    0 0
    2
    5 -5 0
    5 5 10
    1
    0 4
    2
    -5 5 0
    -5 -5 10
    1
    4 10
    0
    
    예상 출력
    4.000000
    6.000000
    
  3. 예제 3

    입력
    1
    0 0
    2
    3 4 0
    -3 4 10
    0
    1
    100 -100
    1
    7 7 0
    1
    0 1000
    0
    
    예상 출력
    0.000000
    1000.000000
    
  4. 예제 4

    입력
    3
    0 0
    1
    10 0 0
    1
    0 1
    2
    5 -5 0
    5 15 20
    1
    5 8
    2
    -5 10 0
    15 10 20
    1
    13 20
    0
    
    예상 출력
    11.000000
    
  5. 예제 5

    입력
    2
    0 0
    2
    100 10 0
    -10 10 10
    3
    0 2
    3 5
    7 9
    2
    10 0 0
    0 10 10
    3
    2 3
    5 7
    9 10
    2
    0 0
    2
    -3 4 0
    3 4 6
    2
    0 2
    4 6
    2
    3 4 0
    -3 4 6
    2
    2 4
    6 10
    0
    
    예상 출력
    6.988620
    7.000000