ZOJ Problem Set - 1988
In the TV game show Gladiators, the final competition is to run through a steeplechase course. To get some variation, the producer has decided to change the course each week. The course is always built out of m obstacles, all of different heights, placed along a straight line. An obstacle consists of two initially connected platforms which may be separated. Between the two platforms of an obstacle, other higher obstacles may be put. Also, obstacles may be put after one another.
Figure 1. To the left: An obstacle seen from the side. To the right: A steeplechase course consisting of 5 obstacles. The contestants run from left to right.
The producer thinks it is most desirable that the results from different weeks may be compared to each other. Therefore, he wants to build courses of similar degree of difficulty.
A proposed measure of difficulty is the number of platforms that are higher than their immediately preceding platform along the course. Moreover, the leftmost (first) platform of the course always give rise to one point since it is located above the floor. E.g. the course to the right in figure 1 has four points of difficulty.
Your mission is to find out how many ways there are to build a course of a given point of difficulty, from a given number of obstacles.
On the first line of input is a single positive integer n, telling the number of test scenarios to follow. Each test scenario consists of one line containing two non negative integers m and k, where m <= 50 is the number of obstacles, and k is the point of difficulty asked for.
For each test scenario, output one line containing a single positive integer equal to the number of different courses constructible from the m obstacles, amounting to a point of difficulty of exactly k.
You may safely assume that the answer is less than 10^100.
Source: Northwestern Europe 2003