题意: 给一条抛物线跟一条直线的两个交点坐标,加上抛物线的顶点坐标,求围起来的面积
分析: 面积用积分求了之后相减就可以。
必须要有两个线的方程。于是若干时间求a.b.c. k.b~~~ 依次求出来就好了用笔算a,b,c花了若干时间…… 不过这就是
数学题嘛。 还好高中知识还记得~~
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
int T;
cin>>T;
while(T--)
{
double x1,x2,x3,y1,y2,y3;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
double a,b,c,k,g;
a=((y2-y1)*(x3-x2)-(y3-y2)*(x2-x1))/
((x2-x1)*(x3-x2)*(x1-x3));
b=((y2-y1)-a*(x2*x2-x1*x1))/(x2-x1);
c=y1-a*x1*x1-b*x1;
k=(y3-y2)/(x3-x2);
g=y3-k*x3;
double ans1,ans2;
ans1=(a*x3*x3*x3/3 + b*x3*x3/2 +
c*x3) - (a*x2*x2*x2/3 + b*x2*x2/2 +
c*x2);
ans2=(k*x3*x3/2 + g*x3) - (k*x2*x2/2
+ g*x2);
cout<<setiosflags(ios::fixed)
<<setprecision(2)<<abs(ans1-ans2)
<<endl;
}
return 0;
}