#CRT0003. 小P动点
小P动点
题目背景
勤奋的 Papyrus 发明了一种动点问题, sans 称之为小P动点。
题目描述
在平面直角坐标系中,考虑一条形如 $y = kx + b$ 的直线,其中斜率 $k$ 和截距 $b$ 是给定的整数参数。假设直线上有一个动点 $P(x_0, y_0)$ 在第一象限内滑动,目标是找出以 $P$ 点和原点 $(0,0)$ 作为对角顶点的矩形中,面积能达到的最大值。
输入格式
每组测试用例由两行组成,第一行为测试用例的数量 $T$;随后的每一行对应一个测试用例,包含两个整数 $k$ 和 $b$,表示直线的方程为 $y = kx + b$。
输出格式
对于每个测试用例,输出一个浮点数,表示满足条件的矩形所能达到的最大面积。如果该面积理论上可以无限大,则输出 $-1$。答案的精度需控制在绝对误差或相对误差不超过 $10^{-4}$ 的范围内。
样例输入#1
3
-3 5
-2 7
0 10
样例输出#1
2.0833
6.1250
-1
样例解释
- 第一个测试用例中,通过选取接近 $x \approx 0.833$ 的点(具体计算基于使矩形面积最大化的原理),对应的 $y$ 值约为 $2.501$,从而得到的矩形面积约为 $2.0833$,这是最大可能面积。
- 第二个测试用例类似地找到合适的 $x$ 值(例如 $x = 1.75$),得到矩形面积为 $6.125$。
- 第三个测试用例中,由于直线平行于 $y$ 轴($k=0$),只要 $x>0$,$y$ 的值将保持为常数 $10$,导致矩形的一边可以无限延伸,因此面积为无穷大,故输出 $-1$。
数据范围与约定
所有输入数据确保为整数。