雾之湖可以被看成一张巨大网格图图上所有点的坐标均为整数并且 $xy$ 坐标的范围均为 $-10^910^9$。琪露诺在其中发现两块奇怪的石头它们的坐标分别记为 $AB$。你需要找到网格图上的第三个点 $C$使得 $ABC$ 三点可以构成直角三角形。如果有多解输出任意一组即可。注意:由于 $C$ 在网格图上因此 $C$ 的坐标同样必须是整数。!httpscdnluogucomcnuploadimag
根据直角三角形的性质,我们可以得到以下三个方程:
$$ \begin{cases} (x_3-x_1)(x_3-x_2)+(y_3-y_1)(y_3-y_2)=0 \ (x_1-x_3)^2+(y_1-y_3)^2=(x_2-x_3)^2+(y_2-y_3)^2 \ (x_1-x_2)^2+(y_1-y_2)^2=(x_1-x_3)^2+(y_1-y_3)^2+(x_2-x_3)^2+(y_2-y_3)^2 \end{cases} $$
我们可以将这个方程组转化为以下形式:
$$ \begin{cases} (x_3-x_1)(x_3-x_2)+(y_3-y_1)(y_3-y_2)=0 \ (x_3-x_1)^2+(y_3-y_1)^2-(x_3-x_2)^2-(y_3-y_2)^2=0 \ (x_1-x_2)^2+(y_1-y_2)^2-(x_1-x_3)^2-(y_1-y_3)^2-(x_2-x_3)^2-(y_2-y_3)^2=0 \end{cases} $$
我们可以将这个方程组化简为以下形式:
$$ \begin{cases} 2(x_3^2-x_1x_2+y_3^2-y_1y_2)=x_1^2-x_2^2+y_1^2-y_2^2 \ 2(x_3x_1-x_3x_2+y_3y_1-y_3y_2)=x_3^2-x_1^2+y_3^2-y_1^2 \ 2(x_2x_1+y_2y_1-x_3x_1-y_3y_1-x_2x_3-y_2y_3)=x_1^2+x_2^2+y_1^2+y_2^2-x_3^2-y_3^2 \end{cases} $$
解这个方程组,可以得到点 $C$ 的坐标 $(x_3,y_3)$
原文地址: https://www.cveoy.top/t/topic/hZqC 著作权归作者所有。请勿转载和采集!