만드는 중입니다

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

등대

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

요약
볼록 다각형 꼭짓점 사이에 주어진 트램 선분만 따라 자기 교차가 없는 가장 긴 경로의 길이를 구합니다.
난이도

어려움10점 중 9점

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

문제

등대 섬은 볼록 다각형 모양의 섬입니다. 다각형의 각 꼭짓점에는 등대가 하나씩 서 있습니다. 일부 등대 쌍은 직선 트램 노선으로 연결되어 있습니다. 노선끼리 교차할 수 있지만 분기기가 없으므로, 노선에 들어간 트램은 반대쪽 끝까지 가야만 빠져나올 수 있습니다.

Vladik은 등대 하나 옆에서 출발해 트램 노선을 따라 등대 몇 개를 원하는 순서로 방문한 뒤 섬을 떠나려고 합니다. 섬에는 FBI도 와 있으므로, Vladik은 한 번 방문한 지점으로 다시 돌아가면 안 됩니다. 따라서 그의 경로는 자기 자신과 교차하지 않는 꺾은선이 됩니다.

총 유클리드 길이가 가장 긴 여행 경로의 길이를 구하세요.

입력

첫 줄에 테스트 케이스의 개수 zz가 주어집니다. 각 테스트 케이스는 등대의 개수 nn (3≤n≤3003 \le n \le 300)을 적은 줄로 시작합니다. 이어서 nn개의 줄에 ii번째 등대의 좌표 xix_i와 yiy_i (−109≤xi,yi≤109-10^9 \le x_i, y_i \le 10^9)가 정수로 주어집니다. 등대는 섬의 경계를 반시계 방향으로 따라가며 나열되어 있습니다. 세 등대가 한 직선 위에 놓이는 경우는 없습니다.

다음 줄에는 트램 노선의 개수 mm (0≤m≤n(n−1)20 \le m \le \frac{n(n-1)}{2})이 주어집니다. 이어서 mm개의 줄에 노선의 양 끝 등대 번호 viv_i와 uiu_i (1≤vi≠ui≤n1 \le v_i \ne u_i \le n)가 주어집니다. 같은 두 등대를 잇는 노선은 최대 하나입니다.

모든 테스트 케이스의 등대 개수 합은 3000을 넘지 않습니다.

출력

각 테스트 케이스마다 Vladik 여행 경로의 최대 길이를 출력하세요. 절대 오차 또는 상대 오차가 10−610^{-6} 이하이면 정답으로 인정합니다.

예제1

  1. 예제 1

    입력
    2
    4
    0 0
    1 0
    1 1
    0 1
    3
    1 3
    2 4
    3 4
    4
    0 0
    1 0
    1 1
    0 1
    4
    1 4
    4 3
    3 2
    2 1
    
    예상 출력
    2.414213562373
    3.000000000000