Submit | All submissions | Best solutions | Back to list |
FRACTAL - Hilbert Curve |
The Hilbert Mole is a small and very rare mole. The first and only specimen was found by David Hilbert at his backyard. This mole lives in a huge burrow under the ground, and the border of this burrow forms a Hilbert curve of n-th order (Hn).
Figure 1. Hilbert curves, order 1 to 4.
Hilbert curves can be defined as follows. H1 is a unit square with open top side (figure 1(a)), Hn consists of four copies of Hn-1: bottom left and bottom right are copied without changes, top left is rotated 90o counter-clockwise and top right is rotated 90o clockwise. These small copies are connected by three segments of unit length (figure 1(b),(c),(d)).
Figure 2. Burrow, filled with water.
Trying to exterminate the mole, Mr. Hilbert fills the burrow with water (figure 2). But air inside the burrow prevents water from filling it entirely. In this problem we suppose that air and water are incompressible and cannot leak through the borders of the burrow. Your task is to find the total area of the burrow, filled with water.
Note that water can flow over the obstacle only when its level is strictly higher. See examples on figure 3 for further clarification.
Figure 3. More examples of filled burrows.
Input
Multiple test cases. For each test case:
The first line of the input file contains two integer numbers: n and alpha - order of Hilbert curve and slope angle of surface in degrees (1 <= n <= 12, 0 <= alpha < 90).
Input terminates by EOF.
Output
For each test case:
The first line of the output file must contain a single real number - the total area of the burrow, filled with water. The relative error of the answer must not exceed 10-6.
Example
Input: 5 30 3 45 4 10 3 0 Output: 190.803847577293 15.5 91.573591766702 26.0
Added by: | Fudan University Problem Setters |
Date: | 2007-12-01 |
Time limit: | 0.5s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: C99 ERL JS-RHINO |
Resource: | ACM/ICPC Northeastern Europe Programming Contest(Northern Subregional) 2008, with description modified |