쓰레기 슈트

시간 제한1초메모리 제한128 MB

요약
단순 다각형을 적절히 회전해 수직 띠 모양 통로를 통과시킬 때 필요한 최소 폭을 구하고, 소수 둘째 자리로 올림해 출력한다.
난이도

보통10점 중 7점

유형
기하, 완전 탐색, 구현, 수학
정답자
아직 제출이 없습니다

문제

선영이는 쓰레기를 편하게 버리려고 빌딩에 쓰레기 슈트를 설치하기로 했다. 쓰레기 슈트는 속이 빈 관으로, 위에서 넣은 쓰레기가 관을 따라 지하실까지 곧장 떨어진다.

슈트를 만드는 비용은 관의 크기(너비)에 비례하므로, 넣으려는 물체가 통과할 수 있는 한도 안에서 최대한 좁게 만드는 것이 좋다.

문제를 2차원으로 단순화하자. 슈트는 일정한 너비를 가진 수직 통로이고, 물체는 다각형으로 주어진다. 물체를 넣기 전에는 원하는 각도로 회전시킬 수 있지만, 일단 슈트에 넣어 떨어지기 시작하면 회전하지 않고 수직으로만 내려간다.

즉, 물체를 적절히 회전시킨 뒤 폭이 일정한 수직 띠(슈트) 안에 넣어 통과시켜야 한다. 주어진 다각형이 통과할 수 있는 슈트의 최소 너비를 구하여라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫째 줄에는 다각형의 꼭짓점 개수 nn이 주어진다 (3≤n≤1003 \le n \le 100).

다음 nn개의 줄에는 각 꼭짓점의 좌표 xix_i와 yiy_i가 공백으로 구분되어 주어진다 (0≤xi,yi≤1040 \le x_i, y_i \le 10^4). 꼭짓점은 다각형을 이루는 순서대로 주어진다.

한 다각형의 꼭짓점 좌표는 모두 서로 다르며, 다각형의 변은 서로 교차하지 않는다. 인접한 두 변이 한 꼭짓점을 공유하는 것은 교차로 보지 않는다.

마지막 테스트 케이스 다음 줄에는 00이 하나 주어지며, 입력은 여기서 끝난다.

출력

각 테스트 케이스마다 Case x: w 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, ww는 그 물체가 통과할 수 있는 가장 작은 슈트의 너비이다. 너비는 0.010.01의 배수가 되도록 올림하여 소수점 둘째 자리까지 출력한다.

예제1

  1. 예제 1

    입력
    3
    0 0
    3 0
    0 4
    4
    0 10
    10 0
    20 10
    10 20
    0
    
    예상 출력
    Case 1: 2.40
    Case 2: 14.15