땅속 공사

시간 제한3초메모리 제한256 MB

요약
기울어진 지면 아래 힐베르트 곡선으로 둘러싸인 굴 구조에서 공기 주머니를 고려하며 물이 채워지는 총 면적을 소수점 넷째 자리까지 구하는 문제입니다.
난이도

어려움10점 중 9점

유형
기하, 시뮬레이션, 재귀, 수학
정답자
아직 제출이 없습니다

문제

힐베르트 두더지는 아주 희귀한 작은 동물이다. 힐베르트가 자기 집 뒷마당에서 처음이자 유일한 표본을 발견했다. 이 두더지는 땅속의 거대한 굴에 사는데, 굴의 경계는 nn차 힐베르트 곡선 HnH_n이다.

힐베르트 곡선은 다음과 같이 정의한다. H1H_1은 윗변을 없앤 한 변의 길이가 1인 정사각형이다(그림 1a). HnH_n은 Hn−1H_{n-1}의 복사본 네 개로 이루어진다. 왼쪽 아래와 오른쪽 아래 복사본은 그대로 놓고, 왼쪽 위 복사본은 반시계 방향으로 90도, 오른쪽 위 복사본은 시계 방향으로 90도 돌려 놓는다. 네 복사본은 길이가 1인 선분 세 개로 이어진다(그림 1b, 1c, 1d). 완성된 곡선은 한 변이 2n−12^n - 1인 정사각형에 들어가고, 곡선의 두 끝점은 그 정사각형의 위쪽 두 꼭짓점이다.

abcd

그림 1. 1차부터 4차까지의 힐베르트 곡선.

지표면은 곡선의 두 끝점을 지나는 직선이다. 지표면은 수평선과 α\alpha도를 이루며 곡선의 끝점 쪽으로 올라간다. 지표면 아래는 굴을 뺀 나머지가 모두 흙이다. 지표면 아래의 점에서 지표면까지 수직으로 선분을 그었을 때 그 선분이 곡선과 짝수 번 만나면 그 점은 굴에 속한다. 굴이 지표면에 닿는 자리는 뚫려 있어 물이 들어간다.

힐베르트는 두더지를 잡으려고 지표면 전체에 물을 붓는다(그림 2). 굴 안에 남은 공기 때문에 물이 굴을 가득 채우지는 못한다. 공기와 물은 압축되지 않으며 굴의 벽을 뚫고 새지도 않는다. 지표면으로 되돌아 나온 물은 비탈을 따라 흘러내려 사라진다. 물로 채워지는 굴 부분의 넓이 합을 구하라.

그림 2. 물이 찬 굴.

물은 수위가 장애물보다 엄격하게 높을 때만 장애물을 넘어 흐른다. 자세한 내용은 그림 3의 예를 참고하라.

그림 3. 물이 찬 굴의 다른 예.

입력

첫째 줄에 정수 nn과 α\alpha가 주어진다. nn은 힐베르트 곡선의 차수이고 α\alpha는 지표면의 기울기를 도 단위로 나타낸 값이다 (1≤n≤121 \le n \le 12, 0≤α<900 \le \alpha < 90).

출력

물로 채워지는 굴 부분의 넓이 합을 소수점 아래 넷째 자리까지 출력한다. 모든 테스트에서 정답은 반올림 경계에서 10−610^{-6} 이상 떨어져 있으므로 마지막 자리가 애매해지는 경우는 없다.

예제4

  1. 예제 1

    입력
    5 30
    
    예상 출력
    190.8038
    
  2. 예제 2

    입력
    3 45
    
    예상 출력
    15.5000
    
  3. 예제 3

    입력
    4 10
    
    예상 출력
    91.5736
    
  4. 예제 4

    입력
    3 0
    
    예상 출력
    26.0000