AT_arc020_4.[ARC020D] お菓子の国の旅行

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

糖果国是一个狭长的国度,拥有 NN 个城镇,这些城镇沿直线排列,编号从 11 到 NN。相邻城镇之间有道路连接,城镇 ii 和城镇 i+1i+1 之间的路长为 DiD_i。在糖果国,出行只能通过这些道路进行。对于城镇 aa 和 bb(a<ba < b),从城镇 aa 到城镇 bb 的距离,以及从城镇 bb 到城镇 aa 的距离,都是从 DaD_a 到 Db−1D_{b-1} 之间道路长度的总和。每个城镇都有一个独特的糖果专卖店,每家店只出售一种独特的糖果。当访问某个城镇时,必须购买该店出售的糖果。

住在蚂蚁王国的 Ant 先生非常喜爱甜食和数字 MM。他计划在糖果国旅行,并恰好购买 KK 种不同的糖果。为了选择访问顺序,他想先计算一下,总的移动距离是 MM 的倍数的旅行方案有多少种。需要注意的是,旅行过程中不允许绕远路,并且可以选择任何城镇作为起始和结束点。同一个城镇不能重复访问。此外,移动过程中经过而不驻留的城镇不算作访问过。

请为 Ant 先生编写一个程序,计算移动距离总和为 MM 倍数的旅行方案数量。因为结果可能非常大,请输出对 1000000007(109+7)1000000007(10^9+7) 取模的结果。

输入格式

输入以以下格式给出:

NN MM KK D1D_1 D2D_2 ... DN−1D_{N-1}

  • 第一行输入三个整数:表示城镇数量的 N (2≤N≤100)N\ (2 \leq N \leq 100),Ant 先生钟爱的数字 M (1≤M≤30)M\ (1 \leq M \leq 30),以及他计划购买的糖果种类数 K (2≤K≤10K\ (2 \leq K \leq 10 且 K≤N)K \leq N)。
  • 接下来的 N−1N-1 行,每行一个整数 Di (1≤Di≤M)D_i\ (1 \leq D_i \leq M),表示城镇 ii 到城镇 i+1i+1 的道路长度。

输出格式

输出满足条件的旅行方案数量,对 1000000007(109+7)1000000007(10^9+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≤12N \leq 12 的测试用例均正确,则可获得 3030 分。

示例解释 1

有以下 66 种方案:

  • 城镇 1→3→21 \rightarrow 3 \rightarrow 2 的访问顺序。
  • 城镇 2→3→12 \rightarrow 3 \rightarrow 1 的访问顺序。
  • 城镇 2→1→42 \rightarrow 1 \rightarrow 4 的访问顺序。
  • 城镇 4→1→24 \rightarrow 1 \rightarrow 2 的访问顺序。
  • 城镇 2→3→42 \rightarrow 3 \rightarrow 4 的访问顺序。
  • 城镇 4→3→24 \rightarrow 3 \rightarrow 2 的访问顺序。

示例解释 2

因为结果可能很大,记得对 1000000007(109+7)1000000007(10^9+7) 取模。

本翻译由 AI 自动生成

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

首页