Module: 三元搜索


Problem

8 /9


嵌套三元搜索:足球进球

Theory Click to read/hide

当我们有两个未知数的优化问题时,可以应用嵌套三元搜索。这个任务就是这样。

很明显,门的形状是四边形,底部是直角,那么我们只需要选择 2 个角(α and β) 使区域门最大。为此,我们将创建一个三元搜索,它将为我们提供 2 个角(α1和 α2< /code>),对于其中的每一个 α 我们将运行另一个三元搜索,这将找到我们这样的区域 β 将是最大值。

阅读更多这里

Problem

Sonya 与许多数学机械专业的学生不同,她不仅擅长编程。有一天,她和她的朋友们去踢足球。遗憾的是,附近并没有专门配备的足球场,只有院子后面一棵高大的白桦树孤零零地矗立着。在家里的储藏室里翻找之后,索尼娅找到了两根棍子,决定用棍子和桦木做一个足球门。当然,桦木将用作侧柱之一。剩下的就是用两根木棍制作第二个架子和一个横杆。
当然,Sonya 想进尽可能多的球。因此,她决定制作面积最大的大门。标准的足球球门是长方形的,但索尼娅——一个有创造力的人,她认为大门可以是任意四边形的形式。

我们可以假设白桦树是一条直线段并且严格垂直于地面生长。
 
输入
单行包含整数a, b  ——棍子长度 (\(1 <= a, b <= 10 000\))。众所周知,木棍的总长度严格小于桦树的高度。

输出
打印可以用木棍和桦树建造的大门的最大面积。显示的答案必须至少精确到小数点后六位。

 

例子
<头> <日># <正文>
资料来源:乌拉尔地区团队编程奥林匹克 2011
输入 输出
1 2 2 4.828427125