P4179 [CQOI2010] 鼹鼠

题目描述

Hilbert 鼹鼠住在 Hilbert 地洞里——地洞的边界是一条 $n$ 阶 Hilbert 曲线 ${H_n}$。Hilbert 曲线的定义如下:${H_1}$ 是一个上端缺口的单位正方形;$H_n$ 由四份 $H_{n-1}$ 组成,其中左下和右下两份没有任何变化,而左上的那一份逆时针旋转了 $90$ 度,而右上的那一份顺时针旋转了 $90$ 度。这四份 $H_{n-1}$ 用三条单位长度的线段连接起来构成了 $H_n$。$H_1\sim H_4$ 如下图所示: ![](https://cdn.luogu.com.cn/upload/image_hosting/0vif0fh6.png) 你想捉一只 Hilbert 鼹鼠来玩,所以往地洞里使劲倒水想把它们赶出来。不过,由于地洞里有空气,无论你怎么倒水,有些地方总是淹不到的(假设水和空气都不可压缩)。输入 Hilbert 曲线 ![](https://cdn.luogu.com.cn/upload/image_hosting/aaj85oki.png) 的阶数 $n$ 和地面的倾斜角 $\alpha$ ,你的任务是计算能淹没到的面积。 注意,只有当水位严格高于一个障碍物时,水才能越过它往下流。更多细节可以参考下面的例子。 ![](https://cdn.luogu.com.cn/upload/image_hosting/bbvmrpvd.png)

输入格式

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

输出格式

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

说明/提示

$rt,n\le12,0\le\alpha\le90$