hdu1071(抛物线,直线以及二重积分)
2011-04-18 20:38
232 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1071
View Code
//抛物线 yp=a*(x-b)^2+c;
//直线 yz=k*x+s;
//二重积分公式: f(x0,x1)(yp-yz)*dx;
#include"iostream"
usingnamespace std;
double a,b,c,k,s;
double fun(double x)
{
return1.0*(a*x*x*x/3)-1.0*(a*b+k/2)*x*x+(a*b*b+c-s)*x;
}
int main()
{
int t;
double x1,y1,x2,y2,x3,y3;
scanf("%d",&t);
while(t--)
{
scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
k=(y3-y2)/(x3-x2);
s=y3-k*x3;
a=(y2-y1)/((x2-x1)*(x2-x1));
b=x1;
c=y1;
double area=1.0*(fun(x3)-fun(x2));
printf("%.2lf\n",area);
}
return0;
}
View Code
//抛物线 yp=a*(x-b)^2+c;
//直线 yz=k*x+s;
//二重积分公式: f(x0,x1)(yp-yz)*dx;
#include"iostream"
usingnamespace std;
double a,b,c,k,s;
double fun(double x)
{
return1.0*(a*x*x*x/3)-1.0*(a*b+k/2)*x*x+(a*b*b+c-s)*x;
}
int main()
{
int t;
double x1,y1,x2,y2,x3,y3;
scanf("%d",&t);
while(t--)
{
scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
k=(y3-y2)/(x3-x2);
s=y3-k*x3;
a=(y2-y1)/((x2-x1)*(x2-x1));
b=x1;
c=y1;
double area=1.0*(fun(x3)-fun(x2));
printf("%.2lf\n",area);
}
return0;
}
相关文章推荐
- hdu1071(抛物线,直线以及二重积分)
- hdu1071(积分求直线和抛物线构成的面积)
- hdu1071(抛物线弓形面积阿基米德算法)
- MFC绘制坐标刻度和自定义线条以及带有箭头的直线
- Unity 抛物线,直线,Sine曲线等
- 我的OpenCV学习笔记(19):检测轮廓,直线,圆以及直线拟合
- HDU1071-抛物线积分
- 过抛物线2交点的直线方程
- 多项式轨迹--直线和抛物线轨迹
- YT14-HDU-求抛物线与直线间的面积(积分)
- 直线与抛物线的交点
- 直线,折线,曲线分割平面以及平面分割空间问题
- 1.空间中直线交点坐标问题,2.已知球面三点求球心问题以及Matlab实现
- 【iOS开发-80】Quartz2D绘图简介:直线/圆形/椭圆/方形以及上下文栈管理CGContextSaveGState/CGContextRestoreGState
- 直线,折线,曲线分割平面以及平面分割空间问题
- LA 3263 - That Nice Euler Circles(直线相交以及交点)
- OpenCV学习笔记(19):检测轮廓,直线,圆以及直线拟合
- VC中实现最小二乘法 直线拟合 Y=a0+a1X 以及 Y=aX
- 求空间内两条直线的最近距离以及最近点的坐标(C++)
- OpenGL编程(五)绘直线以及分析绘直线的算法