• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

cynchanpin

  • 博客园
  • 联系
  • 订阅
  • 管理

View Post

HDOJ1071

The area

 

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

#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;
}


 

 

 

posted on 2017-07-23 20:10  cynchanpin  阅读(141)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3