HDU 1071 - The area

Posted nicetomeetu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 1071 - The area相关的知识,希望对你有一定的参考价值。

求曲线和直线围成的面积

求表达式,求积分

 1 #include <iostream>
 2 using namespace std;
 3 double x[4],y[4];
 4 int t;
 5 double k,m;//fx1: y=kx+m
 6 double a,b,c;//fx2: y=a(x-b)^2+c
 7 void getfx1()
 8 {
 9     k=(y[3]-y[2])/(x[3]-x[2]);
10     m=y[2]-k*x[2];
11 }
12 void getfx2()
13 {
14     a=(y[2]-y[1])/(x[1]-x[2])/(x[1]-x[2]);
15     b=x[1];
16     c=y[1];
17 }
18 double getarea()
19 {
20     double f1=1.0/3*a*x[3]*x[3]*x[3]-(2*a*b+k)/2*x[3]*x[3]+(a*b*b+c-m)*x[3];
21     double f2=1.0/3*a*x[2]*x[2]*x[2]-(2*a*b+k)/2*x[2]*x[2]+(a*b*b+c-m)*x[2];
22     return f1-f2;
23 }
24 int main()
25 {
26     scanf("%d",&t);
27     while(t--)
28     {
29         for(int i=1;i<=3;i++) scanf("%lf%lf",&x[i],&y[i]);
30         getfx1();
31         getfx2();
32         printf("%.2lf\n",getarea());
33     } 
34 } 

 

以上是关于HDU 1071 - The area的主要内容,如果未能解决你的问题,请参考以下文章

HDU 1071 The area (数学定积分)

HDU1071 The area

HDU 1071 - The area

hdu 1071 The area定积分

hdu 1798 Tell me the area 几何

HDU4057 Rescue the Rabbit(AC自动机+状压DP)