타운 스퀘어

면접 대비

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

요약
네 점이 주어질 때, 각 변이 서로 다른 조각상 하나씩과 정확히 5피트 떨어지는 가장 큰 정사각형의 한 변 길이를 구한다.
난이도

보통10점 중 6점

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

문제

부유한 마을 주민 펠릭스 J. 험블은 자신이 소유한 공원에 자기 동상 네 개를 세웠다. 이 동상들을 보호하기 위해 그 둘레에 정사각형 울타리를 세우려고 하는데, 미관상 다음 조건을 모두 만족해야 한다.

  1. 울타리로 둘러싸인 영역은 정사각형이다.
  2. 각 동상은 자신과 가장 가까운 울타리 변으로부터 정확히 5피트 떨어져 있다.
  3. 어떤 두 동상도 같은 변을 가장 가까운 변으로 가지지 않는다.

정사각형은 어떤 방향으로도 세울 수 있으며, 변이 좌표축과 평행할 필요는 없다. 네 동상의 위치가 주어질 때, 이러한 울타리를 세울 수 있는지, 세울 수 있다면 한 변의 길이가 얼마여야 하는지 구하라.

입력

첫째 줄에 테스트 케이스의 수 nn이 주어진다.

다음 nn개의 줄에는 각 테스트 케이스가 하나씩 주어지며, 각 줄에는 첫째, 둘째, 셋째, 넷째 동상의 xx, yy 좌표를 나타내는 정수 여덟 개가 순서대로 주어진다. 모든 좌표는 피트 단위이며 −100≤v≤100-100 \le v \le 100을 만족한다. 한 테스트 케이스 안에서 같은 위치에 있는 두 동상은 없다.

출력

각 테스트 케이스마다 한 줄을 출력한다.

조건을 만족하는 정사각형 울타리가 존재하면 Case k: L을 출력한다. 여기서 kk는 테스트 케이스 번호(1부터 시작)이고, LL은 조건을 만족하는 정사각형 중 한 변의 길이가 가장 큰 것의 변 길이이다. LL은 가장 가까운 100분의 1피트로 반올림하여 소수점 아래 두 자리까지 출력한다.

조건을 만족하는 정사각형 울타리가 존재하지 않으면 Case k: no solution을 출력한다.

예제2

  1. 예제 1

    입력
    2
    0 1 1 0 3 4 4 2
    0 1 0 2 0 3 0 4
    
    예상 출력
    Case 1: 14.00
    Case 2: no solution
    
  2. 예제 2

    입력
    1
    29 -5 -20 3 18 -21 -3 28
    
    예상 출력
    Case 1: 59.00