SDUT-3270 飞花的鱼塘(利用数学积分求面积)
2018-03-27 20:14
375 查看
飞花的鱼塘Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmit Status Practice SDUT 3270 use MathJax to parse formulasDescription 一日,飞花壕在稷下湖游玩,忽然,飞花巨有了一个养鱼的想法,于是,他大手一挥,“这片鱼塘被我承包了”。 如图,鱼塘的形状为两部分(红色线条与蓝色线条所围成的部分),上半部分为开口向下的抛物线,对称轴为Y轴,抛物线与X轴的交点为A、B(A与B关于Y轴对称)。下半部分为一个以线段AB为直径,以原点为圆心的一个半圆。
飞花壕买承包了这块鱼塘,可是他不知道鱼塘的面积有多大,你能帮他么?Input 多组输入。对于每组输入,有两行,第一行为两个浮点数,为P点的坐标Px、Py。第二行有2个浮点数,为B点的坐标,Bx、By。(所有坐标的取值均小于1000)。保证输入数据合法。Output 输出鱼塘的面积S 。结果保留两位小数。Sample Input
#include<algorithm>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<deque>
#include<
ba80
stack>
using namespace std;
long long int x[1100][1100],y[1100000];
int main()
{
long long int i,j,k,n,T,b,c,d,p;
double px,py,bx,by,m,a;
while(scanf("%lf%lf%lf%lf",&px,&py,&bx,&by)!=EOF)
{
m=0;
m+=bx*bx*3.141592654/2.0;
a=py/(bx*bx);
m+=2*(py*bx-a*bx*bx*bx/3.0);
//m+=5.5/3*py*bx;
printf("%.2lf\n",m);
}
return 0;
}需要注意的是:本题给出了圆周率的值,假如不给不要用3.15926用acos(-1),否则可能会卡你精确度,就会各种姿势的Wrong Answer.点击打开链接
飞花壕买承包了这块鱼塘,可是他不知道鱼塘的面积有多大,你能帮他么?Input 多组输入。对于每组输入,有两行,第一行为两个浮点数,为P点的坐标Px、Py。第二行有2个浮点数,为B点的坐标,Bx、By。(所有坐标的取值均小于1000)。保证输入数据合法。Output 输出鱼塘的面积S 。结果保留两位小数。Sample Input
0.0 4.5 3.0 0.0 0.0 10.0 5.0 0.0Sample Output
32.14 105.94Hint π取3.141592654即可。看图可以把曲线所围成的面积分为两部分:下半部分是一个半圆,上半部分是由二次函数与x轴围成的面积。下班部分:半圆的面积很好求,B点的横坐标就是圆的半径。我们主要说上半部分,因为顶点在Y轴上我们可以初步确定二次函数的表达式为:ax^2+c=y;带入B点坐标可求。只要求出曲线方程,利用数学积分可求得与X轴围成的面积(二次函数与坐标轴围成的面积高中就讲过,不懂的同学可以百度一下,这里就不详细说了,主要提供思路);AC代码:#include <iostream>
#include<algorithm>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<deque>
#include<
ba80
stack>
using namespace std;
long long int x[1100][1100],y[1100000];
int main()
{
long long int i,j,k,n,T,b,c,d,p;
double px,py,bx,by,m,a;
while(scanf("%lf%lf%lf%lf",&px,&py,&bx,&by)!=EOF)
{
m=0;
m+=bx*bx*3.141592654/2.0;
a=py/(bx*bx);
m+=2*(py*bx-a*bx*bx*bx/3.0);
//m+=5.5/3*py*bx;
printf("%.2lf\n",m);
}
return 0;
}需要注意的是:本题给出了圆周率的值,假如不给不要用3.15926用acos(-1),否则可能会卡你精确度,就会各种姿势的Wrong Answer.点击打开链接
相关文章推荐
- sdut 3270 山理工第七届校赛--飞花的鱼塘
- 飞花的鱼塘(积分求面积咯~)
- 数学积分求面积的 HDU1071The area
- 高等数学:第九章 重积分(2)三重积分的概念、应用,利用柱面坐标和球面坐标计算三重积分
- [再寄小读者之数学篇](2014-06-19 利用分部积分求函数值)
- 二次函数积分面积【数学】
- [ACM] sdut 2877 angry_birds_again_and_again (简单数学积分)
- 漫步数学分析二十三——级数的积分与微分
- 利用接口和多态性计算几何图形的面积和周长并显示
- The area (hdu1071)积分求面积
- 常见数学符号:等号、不等号、算术运算符号、几何符号、三角函数、指数、对数、微分、积分符号、集合符号、逻辑符号
- 数学题-计算相交圆的公共部分面积
- 漫步数学分析二十六——积分方程与不动点
- light oj 1305 - Area of a Parallelogram (数学 平行四边形坐标和面积)
- 利用类和方法的方式计算矩形周长和面积
- 利用积分图像法快速计算Haar特征
- bzoj 2178 圆的面积并【辛普森积分】
- NYOJ 449 不再爱你…… (数学题&积分)
- 利用数学公式求开方
- 利用html,JavaScript计算常用图形面积