【数学几何】牛客小白月赛21 A: Audio

题目传送门

【数学几何】牛客小白月赛21 A: Audio_第1张图片
题意:求三角形的外心坐标。
思路:利用弦与连接圆心与该弦中点的直线互相垂直来求。
【数学几何】牛客小白月赛21 A: Audio_第2张图片
【数学几何】牛客小白月赛21 A: Audio_第3张图片
下面展示代码来实现。
上代码:

#include
#include
#include
#include
using namespace std;
int main()
{
    double x_1,y_1,x_2,y_2,x_3,y_3;
    cin >> x_1 >> y_1 >> x_2 >> y_2 >> x_3 >> y_3;
    double x,y;
    double d1 = double(x_2*x_2-x_1*x_1+y_2*y_2-y_1*y_1);
    double d2 = double(x_3*x_3-x_1*x_1+y_3*y_3-y_1*y_1);
    double k1 = double(x_2 - x_1);
    double k2 = double(y_2 - y_1);
    double k3 = double(x_3 - x_1);
    double k4 = double(y_3 - y_1);
    x = (k2 * d2 - k4 * d1) / (2 * (k2 * k3 - k1 * k4));
    y = (d1 - 2 * k1 * x) / (2 * k2);
    printf("%.3lf %.3lf",x,y);
    return 0;
}

说实话,这道题我推到了两遍,第一遍的时候,没有用其他的变量来代替已知信息,搞的变量非常的多,以至于陷入非常混乱的地步,惭愧惭愧。
现在写出的这个代码,我可以用两个词来形容:完美,整齐。
哈哈哈哈。。。

你可能感兴趣的:(【数学几何】牛客小白月赛21 A: Audio)