山东理工大学第七届ACM校赛-飞花的鱼塘 分类: 比赛 2015-06-26 10:30 43人阅读 评论(0) 收藏
飞花的鱼塘
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
一日,飞花壕在稷下湖游玩,忽然,飞花巨有了一个养鱼的想法,于是,他大手一挥,“这片鱼塘被我承包了”。
如图,鱼塘的形状为两部分(红色线条与蓝色线条所围成的部分),上半部分为开口向下的抛物线,对称轴为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#include <stdio.h> #include <cstdlib> #include <cstring> #include <iostream> #include <cmath> #include <queue> #include <stack> #include <algorithm> #define INF 0x3f3f3f3f #define Pi 3.141592654 using namespace std; const int Max=101000; int main() { double px,py,bx,by,a,b; while(~scanf("%lf %lf",&px,&py)) { scanf("%lf %lf",&bx,&by); b=py; a=-b/(bx*bx); printf("%.2lf\n",2*((bx*bx*bx)*a/3+b*bx)+(Pi*bx*bx)/2); } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。