Skip to content

Latest commit

 

History

History
46 lines (25 loc) · 23.2 KB

File metadata and controls

46 lines (25 loc) · 23.2 KB

[Diamond I] 재우의 삼수강 - 32231

문제 링크

성능 요약

메모리: 2116 KB, 시간: 4 ms

분류

미적분학, 기하학, 수학, 물리학

제출 일자

2024년 9월 10일 14:42:51

문제 설명

재우는 <제4회 MatKor Cup>에서 수영 과목의 재수강에 성공해 Pass를 받았지만, 알 수 없는 이유로 삼수강을 하게 되었다. 재우는 이번 학기에도 성실히 수영 수업에 임했고, 다시 최종 평가만을 남겨두었다.

먼저 수영장을 2차원 좌표계로 표현할 수 있다. 수영장은 왼쪽 아래의 점을 (−1000,0)$\left(-1\, 000, 0\right)$, 오른쪽 위의 점을 (1000,2000)$\left(1\, 000, 2\, 000\right)$로 하는 각 변이 x$x$축 혹은 y$y$축과 평행한 정사각형이다.

이번 학기부터는 지난 방학 동안 완공된 새로운 수영장을 사용한다. 이 수영장에는 최첨단 시스템이 적용되어 있는데, 위치에 따라 물의 밀도가 달라진다는 특징이 있다. 구체적으로 설명하면 다음과 같다.

  • 수영장의 (x,y)$\left( x,y \right)$ 좌표에서의 물의 밀도 ρ$\rho$는 1y$\frac{1}{y}$이다.
  • 재우가 밀도 ρ$\rho$인 지점에서 단위길이를 이동하는 데 걸리는 시간은 ρ$\rho$초이다. 즉, 그 지점에서 재우의 수영 속력이 1ρ$\frac{1}{\rho}$이다.
  • 다만 y=0$y=0$인 곳은 알 수 없는 이유로 접근이 금지되어 있다. 그곳에 발을 들였던 학생들은 쥐도 새도 모르게 사라진 후 귀신으로 나타난다는 괴담만이 떠돌고 있다.

최종 평가를 앞둔 재우는 수영 연습을 T$T$번 하려고 한다. 수영 연습이란 수영장 내부의 한 위치 (x1,y1)$\left( x_1,y_1 \right)$에서 다른 위치 (x2,y2)$\left( x_2,y_2 \right)$로 수영해 이동하는 것이다. 재우가 y=0$y=0$인 지점을 제외한 수영장의 변과 내부에서만 이동할 때, 각 연습의 출발점에서 도착점까지 이동하기 위해 필요한 최소 시간을 구해 보자. 단, 재우의 안전을 위해 y$y$값이 0$0$이거나 1000$1\, 000$을 초과하는 좌표는 주어지지 않으며, 주어지는 좌표는 모두 정수이다.

입력

첫 번째 줄에 수영 연습의 횟수 T(1≤T≤10000)$T(1\leq T\leq 10\, 000)$가 주어진다.

두 번째 줄부터 T$T$개의 줄에 걸쳐 각 수영 연습의 출발점과 도착점을 나타내는 4개의 정수 x1,y1,x2,y2(−1000≤x1,x2≤1000$x_1,y_1,x_2,y_2(-1\, 000\le x_1,x_2\le 1\, 000$; 1≤y1,y2≤1000)$1\le y_1,y_2\le 1\, 000)$가 공백으로 구분되어 주어진다.

출력

첫 번째 줄부터 T$T$개의 줄에 걸쳐 각 수영 연습의 출발점에서 도착점까지 이동하기 위해 필요한 최소 시간을 초 단위로 한 줄에 하나씩 출력한다.

정답과의 절대오차 또는 상대오차가 10−6$10^{-6}$ 이하이면 정답으로 인정된다.