AT_relay2018_c.積まれた本

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 NN 本书按一列从下到上堆叠。第 ii 层(1≤i≤N1 \leq i \leq N)的书厚度为 hih_i。

你打算将这些堆叠的书一本一本取出。如果某本书的最高点高度不超过 HH,那么无论它在堆叠中的哪个位置,都可以被取出。当你取出一本书后,其上方的所有书会整体平移下降。

请计算,将所有书取出的顺序有多少种可能。

输入格式

输入通过标准输入给出,格式如下:

NN HH h1h_1 h2h_2 …\ldots hNh_N

输出格式

输出可以作为取出顺序的方案总数。

输入输出样例

  • 输入#1

    4 3
    2
    1
    2
    3

    输出#1

    3
  • 输入#2

    10 100
    19
    2
    1
    2
    18
    4
    9
    4
    24
    19

    输出#2

    3225600

说明/提示

限制条件

  • 1≤N≤101 \leq N \leq 10
  • 1≤H≤1001 \leq H \leq 100
  • 1≤hi≤H1 \leq h_i \leq H
  • 输入的所有数值均为整数。

样例说明 1

共有以下 33 种方案:

  • 按最初状态从下到上依次取出第 11 层、第 22 层、第 33 层、第 44 层的书。
  • 按最初状态依次取出第 11 层、第 33 层、第 22 层、第 44 层的书。
  • 按最初状态依次取出第 22 层、第 11 层、第 33 层、第 44 层的书。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页