您的位置:首页 > 其它

sdut 3270 山理工第七届校赛--飞花的鱼塘

2016-05-26 20:49 267 查看
题目链接:点击打开链接


题目描述

 一日,飞花壕在稷下湖游玩,忽然,飞花巨有了一个养鱼的想法,于是,他大手一挥,“这片鱼塘被我承包了”。

 

如图,鱼塘的形状为两部分(红色线条与蓝色线条所围成的部分),上半部分为开口向下的抛物线,对称轴为Y轴,抛物线与X轴的交点为A、B(A与B关于Y轴对称)。下半部分为一个以线段AB为直径,以原点为圆心的一个半圆。

 



飞花壕买承包了这块鱼塘,可是他不知道鱼塘的面积有多大,你能帮他么?


输入

 多组输入。对于每组输入,有两行,第一行为两个浮点数,为P点的坐标Px、Py。

第二行有2个浮点数,为B点的坐标,Bx、By。(所有坐标的取值均小于1000)。

保证输入数据合法。


输出

 

输出鱼塘的面积S 。结果保留两位小数。


示例输入

0.0 4.5
3.0 0.0
0.0 10.0
5.0 0.0



示例输出

32.14
105.94


ps:积分

<span style="font-size:18px;">///山理工第七届校赛--飞花的鱼塘
#include <iostream>
#include<cstdio>

using namespace std;

int main()
{
double px,py;
double bx,by;
while(cin>>px>>py)
{
cin>>bx>>by;
double k;
k=-py/(bx*bx);
double ax=-bx;
/*double q,p;
double axx=ax*ax*ax;
double pyax=py*ax;
q=k*axx/3+pyax;
double bxx=bx*bx*bx;
double pybx=py*bx;
p=k*bxx/3+pybx;*/
double sum;
//sum=p-q;
sum=k*bx*bx*bx/3+py*bx-k*ax*ax*ax/3-py*ax;
double num;
num=(3.141592654*bx*bx)/2;
printf("%.2lf\n",sum+num);
}
return 0;
}
</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: