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

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

스타워즈 (큰 입력)

시간 제한30초메모리 제한512 MB

요약
함선마다 맨해튼 거리를 수신기 세기에 나눈 값의 최댓값이 최소가 되도록 3차원 공간 어디든 순양함을 놓고, 그 값을 소수점 여섯 자리까지 구한다.
난이도

보통10점 중 7점

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

문제

우리 은하와 이상하게 닮은 먼 은하계, 화성 근처에서 제국군과 반란군이 목숨을 걸고 싸우고 있다. 반란군의 함선은 NN대이고, ii번 함선은 공간의 점 (xi,yi,zi)(x_i, y_i, z_i)에 있다. ii번 함선에는 성능이 pip_i인 수신기가 달려 있다. 반란군은 중앙 순양함 한 대에서 모든 함선으로 통신을 보내야 하는데, 자금이 빠듯해서 강한 송신기를 살 수 없다.

순양함을 (x,y,z)(x, y, z)에 두면, ii번 함선까지 신호를 보내기 위해 순양함 송신기의 성능은 적어도 다음 값이어야 한다.

∣xi−x∣+∣yi−y∣+∣zi−z∣pi\frac{|x_i - x| + |y_i - y| + |z_i - z|}{p_i}

순양함은 좌표가 정수가 아닌 위치에도 놓을 수 있다. 송신기에 필요한 성능이 최소가 되는 순양함의 위치를 찾아 그 성능을 출력하라.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 이어서 TT개의 테스트 케이스가 주어진다.

각 테스트 케이스의 첫째 줄에는 함선의 수 NN이 주어진다. 다음 NN개 줄에는 각각 네 정수 xix_i, yiy_i, ziz_i, pip_i가 공백 하나로 구분되어 주어진다. 앞의 세 값은 ii번 함선의 좌표이고, 마지막 값은 그 함선에 달린 수신기의 성능이다. 좌표가 같은 함선이 둘 이상 있을 수 있다.

제한

  • 1≤T≤101 \le T \le 10
  • 0≤xi,yi,zi≤1060 \le x_i, y_i, z_i \le 10^6
  • 1≤pi≤1061 \le p_i \le 10^6
  • 1≤N≤10001 \le N \le 1000

출력

각 테스트 케이스마다 다음 형식으로 한 줄씩 출력한다.

Case #X: Y

XX는 테스트 케이스 번호이고 1부터 시작한다. YY는 함대의 모든 함선에 신호를 보내기에 충분한 최소 송신기 성능이다. YY는 소수점 아래 여섯째 자리에서 반올림해서(일곱째 자리가 5 이상이면 올림) 소수점 아래 여섯 자리를 빠짐없이 출력한다. 정답이 소수점 아래 여섯 자리인 두 값의 정확히 중간에 놓이는 입력은 없으므로, 반올림 결과는 하나로 정해진다.

힌트

첫 번째 테스트 케이스에서 네 함선의 좌표는 (0,0,0)(0, 0, 0), (1,2,0)(1, 2, 0), (3,4,0)(3, 4, 0), (2,1,0)(2, 1, 0)이고 수신기 성능은 모두 1이다. 성능이 3.5인 순양함을 (1.5,2,0)(1.5, 2, 0)에 두면 네 함선 모두에 신호가 닿는다.

두 번째 테스트 케이스에서는 순양함을 함선과 같은 자리에 두면 되므로 송신기 성능은 0이다.

예제2

  1. 예제 1

    입력
    3
    4
    0 0 0 1
    1 2 0 1
    3 4 0 1
    2 1 0 1
    1
    1 1 1 1
    3
    1 0 0 1
    2 1 1 4
    3 2 3 2
    
    예상 출력
    Case #1: 3.500000
    Case #2: 0.000000
    Case #3: 2.333333
    
  2. 예제 2

    입력
    2
    1
    1000000 1000000 1000000 1000000
    2
    0 0 0 1
    1000000 1000000 1000000 1
    
    예상 출력
    Case #1: 0.000000
    Case #2: 1500000.000000