만드는 중입니다

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

별 가두기

메모리 제한1024 MB

요약
흰 별을 꼭짓점으로 하고 파란 별을 내부에 포함하는 다각형의 최소 둘레를 구하며, 만들 수 없으면 IMPOSSIBLE을 출력합니다.
난이도

보통10점 중 7점

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

문제

John과 Ada는 작은 언덕 위 잔디밭에 앉아 있다. 자정이고 하늘에는 별이 가득하다. 아주 멀리서 보면 하늘은 2차원 평면처럼 보이고, 별은 그 평면 위의 점처럼 보인다. Ada는 파란 별을 좋아하는데, 다른 별이 모두 하얀 가운데 파란 별을 하나 발견한다. 그녀는 이 별을 가두고 싶어서 John에게 도움을 청한다.

Ada가 파란 별의 위치를 John에게 알려주면, John은 그 별을 가둬야 한다. 가두기 위해 John은 대검으로 하늘에 다각형을 그린다. 파란 별은 다각형의 내부에 있어야 하며(경계 위는 안 됨), 다각형의 둘레는 가능한 한 작아야 한다. 다각형의 꼭짓점은 반드시 하얀 별이어야 한다.

하얀 별과 파란 별의 위치가 주어질 때, John이 파란 별을 가둘 수 있는지 판단하라. 가둘 수 있다면 그가 사용할 다각형 둘레의 최솟값을 구하라.

입력

첫 줄에는 테스트 케이스의 수 TT가 주어진다. 각 테스트 케이스의 첫 줄에는 하얀 별의 개수 NN이 주어진다. 이어서 NN개의 줄에 ii번째 하얀 별의 좌표 XiX_i, YiY_i가 한 줄에 하나씩 주어진다. 각 테스트 케이스의 마지막 줄에는 파란 별의 좌표 XsX_s, YsY_s가 주어진다.

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄을 출력한다. xx는 테스트 케이스 번호(1부터 시작)이고, yy는 파란 별을 가두는 다각형 둘레의 최솟값이다. John이 별을 가둘 수 없으면 yy 자리에 IMPOSSIBLE을 출력한다. 절대 오차 또는 상대 오차가 10−610^{-6} 이내이면 정답으로 인정한다.

제한

  • 1≤T≤1001 \le T \le 100.
  • 모든 ii에 대해 0≤Xi,Yi≤1060 \le X_i, Y_i \le 10^6.
  • 0≤Xs,Ys≤1060 \le X_s, Y_s \le 10^6.
  • 파란 별을 포함하여 같은 위치에 있는 별은 두 개가 없다.

힌트

첫 번째 테스트 케이스에서는 하얀 별이 두 개뿐이라 다각형을 그릴 수 없다. 두 번째 테스트 케이스에서는 하얀 별이 세 개뿐이므로 삼각형 하나만 그릴 수 있다. 아래 그림과 같이 파란 별은 이 삼각형 안에 있다. 둘레는 5+5+52≈17.0710685+5+5\sqrt{2}\approx 17.071068이다.

예제1

  1. 예제 1

    입력
    2
    2
    0 0
    5 0
    2 2
    3
    0 0
    5 0
    0 5
    1 1
    
    예상 출력
    Case #1: IMPOSSIBLE
    Case #2: 17.071068