아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

기운의 균형선

시간 제한10초메모리 제한256 MB

요약
사각 발판을 피하면서 전체 에너지의 절반을 담은 비어 있지 않은 램프 무리를 감싸는 가장 짧은 닫힌 곡선 길이를 구합니다.
난이도

어려움10점 중 9점

유형
기하, 완전 탐색, 최단 경로
정답자
아직 제출이 없습니다

문제

잘 꾸민 방은 조명이 밝다. 풍수의 가르침에 따라 새로 꾸민 방 곳곳에 램프를 놓아 분위기를 살렸다. 램프 중 일부는 양의 기운을 내고, 나머지는 음의 기운을 낸다. 옆집 도사가 적은 값을 받고 그 기운의 균형을 맞춰 준다.

균형선은 바닥에 그린 연속인 닫힌 곡선 하나다. 이 선은 램프를 안쪽과 바깥쪽으로 나누고, 두 무리의 기운 합은 서로 같으며, 안쪽에는 램프가 하나 이상 있다.

램프는 바닥을 차지하므로 선이 램프를 가로지를 수 없다. 위치가 (x,y)(x, y)인 램프는 열린 정사각형 (x−1,x+1)×(y−1,y+1)(x-1, x+1) \times (y-1, y+1)을 차지한다. 선은 이 정사각형의 경계를 따라갈 수는 있어도 내부로는 들어가지 못한다. 두 램프의 정사각형이 변이나 꼭짓점에서 맞닿아도 실제 밑면 사이에는 아주 작은 틈이 남아 선이 그 사이로 빠져나간다.

선은 자기 자신에 닿거나 겹쳐도 된다. 램프가 어느 쪽에 있는지는 이렇게 정한다. 램프의 중심에서 선의 어느 부분과도 겹치지 않는 반직선을 그어, 그 반직선이 선을 가로지르는 횟수가 홀수면 안쪽이고 짝수면 바깥쪽이다.

가장 짧은 균형선의 길이를 구하라.

입력

첫 줄에 램프의 수 NN (2≤N≤122 \le N \le 12)이 주어진다.

다음 NN개 줄에는 정수 세 개 xix_i, yiy_i, eie_i (1≤xi,yi≤991 \le x_i, y_i \le 99, −2000≤ei≤2000-2000 \le e_i \le 2000)가 공백으로 구분되어 주어진다. (xi,yi)(x_i, y_i)는 방 모서리에서 센티미터 단위로 잰 ii번째 램프의 위치이고, eie_i는 그 램프가 내는 기운이다.

두 램프의 밑면은 겹치지 않는다. 서로 다른 두 램프 ii, jj에 대해 ∣xi−xj∣≥2|x_i - x_j| \ge 2 또는 ∣yi−yj∣≥2|y_i - y_j| \ge 2이다.

출력

가장 짧은 균형선의 길이를 소수점 아래 여섯째 자리까지 반올림해 출력한다. 균형선이 없으면 IMPOSSIBLE을 출력한다.

예제5

  1. 예제 1

    입력
    4
    10 10 5
    10 20 5
    20 10 5
    20 20 5
    
    예상 출력
    28.000000
    
  2. 예제 2

    입력
    4
    10 10 5
    10 20 1
    20 10 12
    20 20 8
    
    예상 출력
    36.284271
    
  3. 예제 3

    입력
    6
    1 1 15
    5 1 100
    9 1 56
    1 5 1
    5 5 33
    9 5 3
    
    예상 출력
    28.970563
    
  4. 예제 4

    입력
    8
    4 4 1
    4 6 1
    4 8 1
    6 6 14
    8 4 1
    8 6 1
    8 8 1
    99 6 -8
    
    예상 출력
    32.000000
    
  5. 예제 5

    입력
    2
    4 4 2
    8 8 3
    
    예상 출력
    IMPOSSIBLE