您的位置:首页 > Web前端

ZOJ Monthly, February 2016 - E:Ellipse

2016-03-09 11:43 190 查看
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3919

英语不好果然捉鸡。

看了好久的题目还是略懂==没看懂。

题意:给你一个椭圆。该椭圆的中心为(0,0),方程为

x^2/a^2 + y^2/b^2 =1(1e9>=a>=b>0)

一个平行四边形内切在椭圆内(parallelogram inscribed in this ellipse),

同时,这个平行四边形还要外切于一个圆心为(0,0)的圆(parallelogram P is externally tangent to some circle )

问你,这个平行四边形的最大面积和最小面积分别是多少

思路:画一下,手算一下,便知道,最大的是(我不会组织语言。。。)(参考一下分析吧)

分析:

我们发现,这个平行四边形如果内切一个圆,

就必然是关于圆心中心对称且关于双坐标轴都对称的。

于是这个平行四边形就必然是菱形或正方形。

显然菱形面积最小,正方形面积最大。

如果其为菱形,那面积为a*b/2

如果其为正方形,那其一个顶点必然可以表示为(t,t)。

必然满足t^2/a^2 + t^2/b^2 == 1

即(a^2 + b^2) * t^2 == a^2 b^2

我们求出t^2= (a^2 b^2) / (a^2 + b^2)

面积=4*t^2=4 * (a^2 b^2) / (a^2 + b^2)

#include<bits/stdc++.h>
using namespace std;
int main()
{
double a,b;
while(~scanf("%lf%lf",&a, &b))
{
double maxn= a*b * 2;
double minn = 4 *a*a*b*b / (a*a + b*b);
printf("%f %f\n", maxn, minn);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: