CF2066D1.Club of Young Aircraft Builders (easy version)
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
这是该问题的简单版本。各版本间的区别在于此版本中所有 ai=0。只有当您解决了该问题的所有版本时才能进行 hack。
有一栋 n 层的建筑物,楼层从下到上编号为 1 至 n。每层恰好住着一位居民。
今天全体居民有一个重要目标:共同发射至少 c 架纸飞机。居民们将依次发射飞机。当第 i 层的居民发射一架飞机时,从第 1 层到第 i 层的所有居民都能看到它降落到地面的过程。
如果从第 i 层居民的视角看,已有至少 c 架飞机被发射,则该居民自己不会再发射更多飞机。已知到当天结束时,从每位居民的视角看至少发射了 c 架飞机,且总共发射了 m 架飞机。
您仔细记录了这次快闪活动,记录了每位发射飞机的居民所在楼层。遗憾的是,关于具体是谁发射了某些飞机的信息已经丢失。请找出填补空缺信息使其可信的方案数。由于答案可能很大,请输出其对 109+7 取模的结果。
在此版本的问题中,所有信息均已丢失,整个数组全由空缺构成。
也可能您的记录存在错误,导致无法恢复任何有效信息。此时答案视为 0。
输入格式
每个测试包含多个测试用例。第一行输入测试用例数 t(1≤t≤104)。随后为各测试用例的描述。
每个测试用例的第一行包含三个整数 n,c,m(1≤n≤100,1≤c≤100,c≤m≤n⋅c)——建筑物的层数、所需最小飞机数、实际发射的飞机数。
每个测试用例的第二行包含 m 个整数 a1,a2,…,am(0≤ai≤n)——ai 表示发射第 i 架飞机的居民所在楼层;ai=0 表示空缺。
在此版本的问题中,保证所有 ai=0。
保证所有测试用例的 m 值之和不超过 104。
输出格式
对于每个测试用例,输出用 1 至 n 填补空缺信息使其可信的方案数对 109+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,3,3]
- [1,2,3,3]
- [1,3,2,3]
- [2,1,3,3]
- [2,2,3,3]
- [3,1,2,3]
注意数组 [2,3,1,3] 不是有效方案,因为第三架飞机不可能由第 1 层的居民发射——从他们的视角看,当时已有 c=2 架飞机被发射。
同样地,数组 [1,1,2,3] 也不是有效方案,因为从第 3 层居民的视角看,仅发射了 1 架飞机,而 c=2。
翻译由 DeepSeek R1 完成
输入解题思路,AI测评打分。不知道怎么写?