볼록 다각형의 꼭짓점을 세 개 이상 골라 모든 당근이 새 다각형 내부에 오도록 하면서 넓이를 최소로 만든다.
어려움8기하동적 계획법배열완전 탐색아직 제출이 없습니다시간 제한2초메모리 제한512 MB조지아에 토끼가 몰려와 당근을 모조리 먹어 치우고 있다. 농부 허셜 그린은 값비싼 당근을 길러서 농장 둘레에 보안 게이트를 세웠다. 게이트는 기둥 모양이고, 이웃한 두 기둥을 잇는 선을 지나가는 생물에게 막대를 던져 기절시킨다. 농부들은 동물을 보호하기 때문에 죽이지는 않는다.
기둥 G개의 위치가 시계 방향으로 주어진다. 이 기둥들이 둘러싼 볼록다각형이 지금의 농장이다.
해충 탓에 당근 일부가 못 쓰게 되자 허셜은 기둥을 몇 개 팔아서 농장을 줄이려 한다. 관리 비용은 농장 넓이에 비례한다. 어떤 기둥을 팔아도 되고, 남은 기둥은 원래 시계 방향 순서를 그대로 지킨 채 새 농장의 경계가 된다. 농장을 통째로 없앨 생각은 없으므로 기둥은 3개 이상 남겨야 한다.
게이트는 매일 정오에 멈추고 허셜은 12시 30분에 농장을 나온다. 그 30분 동안 허셜은 당근에서 당근으로 직선으로만 이동하고, 농장 밖으로는 나가지 않는다. 남은 당근은 모두 새 농장의 내부에 있어야 하며 경계 위에 있으면 안 된다. 경계는 이웃한 두 기둥을 잇는 선이고, 게이트가 다시 작동하는 나머지 시간에는 아무도 그 선에 다가갈 수 없어서 그 위의 당근은 수확하지 못하기 때문이다.
남길 기둥을 고르는 모든 방법 가운데 만들 수 있는 농장 넓이의 최솟값을 구하라.
첫 줄에 테스트 케이스의 개수 T (1≤T≤5)가 주어진다.
각 테스트 케이스의 첫 줄에는 기둥의 개수 G와 당근의 개수 C가 공백으로 구분되어 주어진다 (3≤G≤300, 1≤C≤50).
다음 G개 줄에는 기둥의 좌표 x와 y가 시계 방향 순서로 주어진다. x축은 오른쪽, y축은 위쪽을 향한다. 기둥의 위치는 모두 다르고, 주어진 순서대로 이으면 볼록다각형의 경계가 된다. 연속한 세 기둥이 한 직선 위에 있을 수도 있다.
이어지는 C개 줄에는 당근의 좌표 x와 y가 주어진다. 당근의 위치는 모두 다르고, 모두 기둥 G개가 둘러싼 다각형의 내부에 있다. 경계 위에 놓인 당근은 없다.
모든 좌표는 정수이고 절댓값이 10000을 넘지 않는다.
각 테스트 케이스마다 만들 수 있는 농장 넓이의 최솟값을 소수점 아래 둘째 자리까지 한 줄에 출력한다. 좌표가 정수이므로 넓이는 항상 0.5의 배수이고, 소수점 아래 두 자리는 00 또는 50이 된다.