AT_relay2018_c 積まれた本
题目描述
有 $N$ 本书按一列从下到上堆叠。第 $i$ 层($1 \leq i \leq N$)的书厚度为 $h_i$。
你打算将这些堆叠的书一本一本取出。如果某本书的最高点高度不超过 $H$,那么无论它在堆叠中的哪个位置,都可以被取出。当你取出一本书后,其上方的所有书会整体平移下降。
请计算,将所有书取出的顺序有多少种可能。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $H$ $h_1$ $h_2$ $\ldots$ $h_N$
输出格式
输出可以作为取出顺序的方案总数。
说明/提示
## 限制条件
- $1 \leq N \leq 10$
- $1 \leq H \leq 100$
- $1 \leq h_i \leq H$
- 输入的所有数值均为整数。
## 样例说明 1
共有以下 $3$ 种方案:
- 按最初状态从下到上依次取出第 $1$ 层、第 $2$ 层、第 $3$ 层、第 $4$ 层的书。
- 按最初状态依次取出第 $1$ 层、第 $3$ 层、第 $2$ 层、第 $4$ 层的书。
- 按最初状态依次取出第 $2$ 层、第 $1$ 层、第 $3$ 层、第 $4$ 层的书。
由 ChatGPT 4.1 翻译