CF2066D1.Club of Young Aircraft Builders (easy version)

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

这是该问题的简单版本。各版本间的区别在于此版本中所有 ai=0a_i = 0。只有当您解决了该问题的所有版本时才能进行 hack。

有一栋 nn 层的建筑物,楼层从下到上编号为 11 至 nn。每层恰好住着一位居民。

今天全体居民有一个重要目标:共同发射至少 cc 架纸飞机。居民们将依次发射飞机。当第 ii 层的居民发射一架飞机时,从第 11 层到第 ii 层的所有居民都能看到它降落到地面的过程。

如果从第 ii 层居民的视角看,已有至少 cc 架飞机被发射,则该居民自己不会再发射更多飞机。已知到当天结束时,从每位居民的视角看至少发射了 cc 架飞机,且总共发射了 mm 架飞机。

您仔细记录了这次快闪活动,记录了每位发射飞机的居民所在楼层。遗憾的是,关于具体是谁发射了某些飞机的信息已经丢失。请找出填补空缺信息使其可信的方案数。由于答案可能很大,请输出其对 109+710^9 + 7 取模的结果。

在此版本的问题中,所有信息均已丢失,整个数组全由空缺构成。

也可能您的记录存在错误,导致无法恢复任何有效信息。此时答案视为 00。

输入格式

每个测试包含多个测试用例。第一行输入测试用例数 tt(1≤t≤1041 \le t \le 10^4)。随后为各测试用例的描述。

每个测试用例的第一行包含三个整数 n,c,mn, c, m(1≤n≤1001 \le n \le 100,1≤c≤1001 \le c \le 100,c≤m≤n⋅cc \le m \le n \cdot c)——建筑物的层数、所需最小飞机数、实际发射的飞机数。

每个测试用例的第二行包含 mm 个整数 a1,a2,…,ama_1, a_2, \ldots, a_m(0≤ai≤n0 \le a_i \le n)——aia_i 表示发射第 ii 架飞机的居民所在楼层;ai=0a_i = 0 表示空缺。

在此版本的问题中,保证所有 ai=0a_i = 0。

保证所有测试用例的 mm 值之和不超过 10410^4。

输出格式

对于每个测试用例,输出用 11 至 nn 填补空缺信息使其可信的方案数对 109+710^9 + 7 取模后的结果。

输入输出样例

  • 输入#1

    2
    3 2 4
    0 0 0 0
    5 5 7
    0 0 0 0 0 0 0

    输出#1

    6
    190

说明/提示

第一个测试样例中,所有六种可能的填补方案如下:

  1. [1,1,3,3][1, 1, 3, 3]
  2. [1,2,3,3][1, 2, 3, 3]
  3. [1,3,2,3][1, 3, 2, 3]
  4. [2,1,3,3][2, 1, 3, 3]
  5. [2,2,3,3][2, 2, 3, 3]
  6. [3,1,2,3][3, 1, 2, 3]

注意数组 [2,3,1,3][2, 3, 1, 3] 不是有效方案,因为第三架飞机不可能由第 11 层的居民发射——从他们的视角看,当时已有 c=2c = 2 架飞机被发射。

同样地,数组 [1,1,2,3][1, 1, 2, 3] 也不是有效方案,因为从第 33 层居民的视角看,仅发射了 11 架飞机,而 c=2c = 2。

翻译由 DeepSeek R1 完成

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

首页