测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A2550. 鼹鼠

编程题 省选/NOI-

题目描述

Hilbert鼹鼠住在Hilbert地洞里——地洞的边界是一条$n$阶Hilbert曲线${H_n}$。Hilbert曲线的定义如下:${H_1}$是一个上端缺口的单位正方形;$H_n$由四份${H_n}-1$组成,其中左下和右下两份没有任何变化,而左上的那一份逆时针旋转了90度,而右上的那一份顺时针旋转了90度。这四份$H_n-1$用三条单位长度的线段连接起来构成了$H_n$。$H_1$~$H_4$如下图所示:

![](/uploads/acgo/image/a17ca11a65ef9f60_0a184c59d0d4.png)

你想捉一只Hilbert鼹鼠来玩,所以往地洞里使劲倒水想把它们赶出来。不过,由于地洞里有空气,无论你怎么倒水,有些地方总是淹不到的(假设水和空气都不可压缩)。输入Hilbert曲线

![](/uploads/acgo/image/f79efe5100c3be0a_a4826103836a.png)

的阶数 $n$ 和地面的倾斜角 $α$ ,你的任务是计算能淹没到的面积。

注意,只有当水位严格高于一个障碍物时,水才能越过它往下流。更多细节可以参考下面的例子。

![](/uploads/acgo/image/790699edb80bbdef_2ff7db2c5e4c.png)

输入格式

输入仅包含两个整数$n$,$α$。

输出格式

输出仅一行,即被淹没的面积,输出保留小数点后6位。

输入输出样例

输入 #1
5 30
输出 #1
190.803848
输入 #2
3 45
输出 #2
15.500000
输入 #3
4 10
输出 #3
91.573592
输入 #4
3 0
输出 #4
26.000000

说明/提示

$rt,n<=12,0<=alpha<=90$
上一题 去做题 下一题