HDOJ 1071
顶点式 Y=a(X-h)^2+k
cout<<setprecision(2) 到大数就表示成科学计数法形式的了
#include <iostream>
cout<<setprecision(2) 到大数就表示成科学计数法形式的了
#include <iostream>
#include <stdio.h>
#include <iomanip>
using namespace std;
struct Point
{
double x;
double y;
};
double fx(double a,double h,double k,double x)
{
return ((1./3)*a*x*x*x-h*a*x*x+(a*h*h+k)*x);
}
int main()
{
int m;
cin>>m;
for(int l=0;l<m;l++)
{
Point p[3];
for(int i=0;i<3;i++)
{
cin>>p.x>>p.y;
}
double k=p[0].y;
double h=p[0].x;
double a=(p[1].y-k)/(p[1].x-h)/(p[1].x-h);
double s1=fx(a,h,k,p[2].x)-fx(a,h,k,p[1].x);
double s2=(p[1].y+p[2].y)/2.*(p[2].x-p[1].x);
double area=s1-s2;
printf("%.2lf\n",area);
}
return 0;
}