해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
64
MB
아주 오래된 한 텍스트 파일에 Great Wisdom라고 쓰여 있었다. This Wisdom은 너무나 위대해서 Mainframe 주민 중 가장 나이가 많은 Phong조차도 이를 해독할 수 없었다. 하지만 그는 그곳에서 약간의 정보를 얻어 냈다. 예를 들어, User가 즐거움을 위해 게임을 실행하고, 그러면 끔찍한 Game Cubes이 도시로 떨어져 게임에서 이길 수 없는 모듈들에게 죽음을 가져온다는 것을 알아냈다...
확실히 경비원 Bob이 Mainframe에 나타난 뒤로 많은 모듈이 Game Cubes을 두려워하지 않게 되었다. Because Bob은 아직 살아 있는 만큼 User에게 한 번도 패배한 적이 없으며, 그렇게 프로그래밍되어 있기 때문에 언제나 Game Cubes에 개입한다.
하지만 Game Cube이 Lost Angles에 떨어지면 불쾌한 상황이 발생할 수 있다. 그곳에는 고약한 바이러스 Hexadecimal이 사는데, 그녀는... 음... 매우 이상하기 때문이다. 그리고 그녀는 노는 것을 무척 좋아한다. 따라서 싫든 좋든 Bob은 먼저 그녀와 게임을 한 다음 User와 게임을 해야 한다.
이번에 Hexadecimal은 다음과 같은 놀이를 고안했다. Bob은 노드가 n개인 이진 탐색 트리들을 뛰어넘어야 한다. 이진 탐색 트리는 각 노드가 서로 다른 키를 갖는 이진 트리이며, 각 노드에 대해 다음이 성립한다는 점을 상기하자. 한 노드의 왼쪽 서브트리에는 그 노드의 키보다 작은 키를 가진 노드만 포함되고, 오른쪽 서브트리에는 그 노드의 키보다 큰 키를 가진 노드만 포함된다. 모든 키는 1부터 n까지의 서로 다른 양의 정수이다. 이러한 트리의 각 노드는 최대 두 개의 자식을 가질 수도 있고, 자식이 전혀 없을 수도 있다(노드가 리프인 경우).
In Hexadecimal's 게임에서 모든 트리는 서로 다르지만, 각 트리의 높이는 h보다 작지 않다. 이 문제에서 «높이»란 루트에서 가장 먼 리프까지 가는 경로에 있는 노드의 최대 개수를 뜻하며, 루트 노드와 리프 자체도 포함한다. When Bob 트리를 뛰어넘으면 그 트리는 사라진다. 남아 있는 트리가 없을 때 Bob은 Cube에 접근할 수 있게 된다. 그는 최악의 경우 자신이 뛰어넘어야 할 트리가 몇 개인지 알고 있다. 당신도 알고 있는가?
입력 데이터에는 공백으로 구분된 두 양의 정수 n과 h (n ≤ 35, h ≤ n)가 주어진다.
문제의 답인 수 하나를 출력한다. 이 수는 9·1018을 초과하지 않음이 보장된다.
3 2
5
3 3
4