만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

과녁 맞히기 (Small1)

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

요약
지상 위의 한 점에서 기울어진 표적 선분을 바라볼 때 시야각이 가장 커지는 지점을 찾아 그 각도를 도로 출력합니다.
난이도

보통10점 중 6점

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

문제

카즈키가 웜즈를 하고 있다. 땅 위쪽에 과녁이 하나 떠 있고, 카즈키는 그 과녁을 맞혀야 한다. 과녁은 땅과 수직이 아니라 비스듬히 기울어져 있다. 카즈키는 땅 위 아무 지점에서나 쏠 수 있고, 과녁이 가장 넓게 보이는 자리에 서려고 한다. 그 자리에서 보이는 각의 크기를 도 단위로 구하라.

세계는 2차원 평면이고 yy축은 하늘을 향한다. 땅은 xx축으로 본다. 과녁의 두 끝점 좌표 (X1,Y1)(X_1, Y_1)과 (X2,Y2)(X_2, Y_2)가 주어지며, 과녁은 이 두 점을 잇는 선분이다.

카즈키가 최대로 만들려는 시야각은 세 점 (X1,Y1)(X_1, Y_1), (X,0)(X, 0), (X2,Y2)(X_2, Y_2)가 이루는 각, 즉 (X,0)(X, 0)을 꼭짓점으로 하는 각이다. 최적의 XX는 정수가 아닐 수 있다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 다음 TT개의 줄에는 각각 네 정수 X1X_1, Y1Y_1, X2X_2, Y2Y_2가 공백으로 구분되어 주어진다. (X1,Y1)(X_1, Y_1)과 (X2,Y2)(X_2, Y_2)는 과녁의 두 끝점 좌표이다.

제한

  • 1≤T≤1001 \le T \le 100
  • X1≠X2X_1 \ne X_2
  • 1≤Y1,Y2≤101 \le Y_1, Y_2 \le 10
  • −10≤X1,X2≤10-10 \le X_1, X_2 \le 10

출력

각 테스트 케이스마다 Case #t: Z 형식으로 한 줄씩 출력한다. tt는 1부터 시작하는 테스트 케이스 번호이고, ZZ는 카즈키가 만들 수 있는 최대 시야각을 도 단위로 나타낸 값이다. ZZ는 소수점 아래 여섯째 자리까지 반올림해 출력하며, 끝자리가 0이어도 여섯 자리를 모두 적는다. 각이 정확히 90도이면 90.000000으로 출력한다.

예제1

  1. 예제 1

    입력
    3
    1 1 3 1
    -2 1 -1 2
    0 2 3 3
    
    예상 출력
    Case #1: 90.000000
    Case #2: 45.000000
    Case #3: 63.805887