码迷,mamicode.com
首页 > 其他好文 > 详细

HDOJ1071

时间:2015-08-09 22:34:41      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

The area

技术分享

 

拿到题的第一想法,又是一道水题,知道P1P2P3三点的坐标,就可以确定抛物线的公式,确定抛物线的公式就可以进行积分,然后就没有然后了。纯粹的数学题。

#include<iostream>
using namespace std;
int main()
{
	double x1,y1,x2,y2,x3,y3,a,b,c,s;
	int n;
	while(cin>>n&&n)
	{
		for(int i=0;i<n;i++)
		{
			cin>>x1>>y1;
			cin>>x2>>y2;
			cin>>x3>>y3;
			a = ((y2-y1)*(x3-x2)/(x2-x1)-(y3-y2))/((x2*x2-x1*x1)*(x3-x2)/(x2-x1)-(x3*x3-x2*x2));
            b = ((y2-y1)-a*(x2*x2-x1*x1))/(x2-x1);
            c = y1-a*x1*x1-b*x1;
            s = (a/3*x3*x3*x3+b/2*x3*x3+c*x3)-(a/3*x2*x2*x2+b*x2*x2/2+c*x2)-(y3+y2)*(x3-x2)/2;
            printf("%.2lf\n",s);
		}
	}
	return 0;
}


 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

HDOJ1071

标签:

原文地址:http://blog.csdn.net/u011000290/article/details/47380501

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!