HDU1071(数学题)

题意:
给你这三个点的坐标,求面积
题解:
水题,不想写题解了出去骑行有点虚;
就是利用三点求出直线方程,抛物线方程,然后求积分
直接上代码
code:

#include
int main()
{
    int n;
    scanf("%d",&n);
    double x,y,x1,y1,x2,y2;
    while(n--)
    {
        scanf("%lf%lf%lf%lf%lf%lf",&x,&y,&x1,&y1,&x2,&y2);
        double k=(y1-y2)/(x1-x2);
        double z=y1-k*x1;
        //printf("%.2f   %.2f\n",k,z);
        double a=(y1-y)/((x1-x)*(x1-x));
        double b=2*a*x+k;
        double c=a*x*x-z+y;
       // printf("%.2f   %.2f    %.2f\n",a,b,c);
        double res=(1.0/3.0*a*x2*x2*x2-0.5*b*x2*x2+c*x2)-(1.0/3.0*a*x1*x1*x1-0.5*b*x1*x1+c*x1);
        printf("%.2f\n",res);
    }
    return 0;
}

你可能感兴趣的:(HDU)