AT_arc020_4.[ARC020D] お菓子の国の旅行
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
糖果国是一个狭长的国度,拥有 N 个城镇,这些城镇沿直线排列,编号从 1 到 N。相邻城镇之间有道路连接,城镇 i 和城镇 i+1 之间的路长为 Di。在糖果国,出行只能通过这些道路进行。对于城镇 a 和 b(a<b),从城镇 a 到城镇 b 的距离,以及从城镇 b 到城镇 a 的距离,都是从 Da 到 Db−1 之间道路长度的总和。每个城镇都有一个独特的糖果专卖店,每家店只出售一种独特的糖果。当访问某个城镇时,必须购买该店出售的糖果。
住在蚂蚁王国的 Ant 先生非常喜爱甜食和数字 M。他计划在糖果国旅行,并恰好购买 K 种不同的糖果。为了选择访问顺序,他想先计算一下,总的移动距离是 M 的倍数的旅行方案有多少种。需要注意的是,旅行过程中不允许绕远路,并且可以选择任何城镇作为起始和结束点。同一个城镇不能重复访问。此外,移动过程中经过而不驻留的城镇不算作访问过。
请为 Ant 先生编写一个程序,计算移动距离总和为 M 倍数的旅行方案数量。因为结果可能非常大,请输出对 1000000007(109+7) 取模的结果。
输入格式
输入以以下格式给出:
N M K D1 D2 ... DN−1
- 第一行输入三个整数:表示城镇数量的 N (2≤N≤100),Ant 先生钟爱的数字 M (1≤M≤30),以及他计划购买的糖果种类数 K (2≤K≤10 且 K≤N)。
- 接下来的 N−1 行,每行一个整数 Di (1≤Di≤M),表示城镇 i 到城镇 i+1 的道路长度。
输出格式
输出满足条件的旅行方案数量,对 1000000007(109+7) 取模。输出结果末尾应有换行。
输入输出样例
输入#1
4 4 3 2 1 3
输出#1
6
输入#2
15 5 10 5 5 5 5 5 5 5 5 5 5 5 5 5 5
输出#2
897286330
说明/提示
部分分数
有部分分数可得:
- 如果所有满足 N≤12 的测试用例均正确,则可获得 30 分。
示例解释 1
有以下 6 种方案:
- 城镇 1→3→2 的访问顺序。
- 城镇 2→3→1 的访问顺序。
- 城镇 2→1→4 的访问顺序。
- 城镇 4→1→2 的访问顺序。
- 城镇 2→3→4 的访问顺序。
- 城镇 4→3→2 的访问顺序。
示例解释 2
因为结果可能很大,记得对 1000000007(109+7) 取模。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?