케이크를 잘라라!
면접 대비시간 제한1초메모리 제한1024 MB
볼록 다각형과 수평선 y=Y가 주어졌을 때, 선으로 나뉜 두 조각의 둘레를 작은 값부터 구합니다.
문제
먼 행성 Gastronomia에서 원주민 Gastronome들은 다각형 팬케이크를 예술의 최고 형태로 여긴다 (그리고 가장 맛있다고도 여긴다). 매년 그들은 Polycake Festival을 연다. 수천 개의 닌자 요리사 수도원이 Thousand Slices를 수행하는데, 이는 Gastronome 사회에 매우 중요한 일련의 의식이다. 각 의식에서는 폴리케이크를 의식용 제단 위에 조심스럽게 올려놓고, 닌자 요리사가 완벽하게 곧은 칼날 한 번으로 케이크를 엄숙하게 잘라 두 조각으로 나눈다. 한 조각은 제단의 북쪽(과거를 상징)에, 다른 한 조각은 남쪽(미래를 상징)에 놓인다. 두 조각을 조심스럽게 떼어 놓고 둘레를 잰다. 그 결과가 다음 Polycake Festival까지 행성 전체의 폴리케이크에 쓰이는 재료 비율을 정한다.
약속된 우주 폴리케이크 사원의 수석 견습생으로서, 당신은 두 조각의 둘레를 재는 임무를 맡았다. 실수하면 환영 폴리케이크 형제단에게 가차 없이 놀림을 받으니 주의하라. 이 일은 프로그램을 작성해서 처리하는 것이 가장 좋다.
직교좌표평면 위의 폴리케이크를 나타내는 다각형과, 칼집의 위치를 나타내는 X축에 평행한 직선이 주어진다. 이렇게 만들어지는 두 조각 각각의 둘레를 구하라. 다각형의 둘레는 모든 변의 길이의 합이다. 입력 다각형은 볼록하고 단순하다고 가정한다.
입력
첫 줄에는 의식에 사용되는 폴리케이크의 개수를 나타내는 양의 정수 이 주어진다. 이어서 폴리케이크를 한 번 자른 경우를 나타내는 개의 데이터 세트가 주어진다.
각 세트의 첫 줄에는 두 정수 ()와 ()가 주어진다. 는 폴리케이크의 꼭짓점 개수이고, 는 수평 절단선의 y좌표이다. X축에 평행한 직선의 방정식은 꼴이다.
다음 개의 줄에는 각각 두 정수 , ()가 주어진다. 이는 폴리케이크 꼭짓점의 직교좌표이며, 반시계 방향 순서로 나열되어 있다.
절단선은 항상 케이크를 지나며, 꼭짓점을 지나지 않는다.
출력
각 테스트 케이스마다 먼저 "Case #i:"를 출력한다. 여기서 는 1부터 시작하는 테스트 케이스 번호이다. 이어서 " "를 출력한다. 와 는 두 조각의 둘레이며, 작은 값부터 순서대로 적는다. 결과는 소수점 셋째 자리까지, 천분의 자리에서 반올림하여 출력한다 (예를 들어 77.0113은 77.011, 88.0115는 88.012, 99.0117은 99.012로 반올림한다). 각 테스트 케이스의 출력 뒤에는 빈 줄을 하나 남긴다. 출력 형식은 샘플 출력에 나타난 형식을 따른다.