题解 AT784 【直訴】
读了题以后,有的人一定知(shou)道(zu)做(wu)法(cuo)
这道题目已经给出了3个点的坐标,我们就可以求出每两点之间的距离。 很明显,距离公式等于
这样得到3条边的长度,这里又有一个公式:海伦公式
这样一来,代码也就顺理成章了:
#include<bits/stdc++.h>
using namespace std;
struct kkk
{
double x,y;
}point[4];
int main()
{
double a,b,c,p,ans;
for(int i=1;i<=3;i++)
cin>>point[i].x>>point[i].y;
a=sqrt((point[1].x-point[2].x)*(point[1].x-point[2].x)+(point[1].y-point[2].y)*(point[1].y-point[2].y));
b=sqrt((point[1].x-point[3].x)*(point[1].x-point[3].x)+(point[1].y-point[3].y)*(point[1].y-point[3].y));
c=sqrt((point[2].x-point[3].x)*(point[2].x-point[3].x)+(point[2].y-point[3].y)*(point[2].y-point[3].y));
p=(a+b+c)/2;
ans=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%0.1lf\n",ans);
return 0;
}