AT_cf17_final_g.Mancala

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

考虑以下游戏:

  • 准备排成一列的 NN 个格子和大量石子。
  • 初始时,在第 ii 个格子(1≤i≤N1 \leq i \leq N)中放入 aia_i 个石子。
  • 玩家可以重复进行以下操作:选择一个恰好有 ii 个石子的格子 ii,将其中的所有石子取出,并在第 11 到第 i−1i-1 个格子中各添加 11 个石子。
  • 最终剩余石子的总数即为得分。

对于长度为 NN 的数列 aa,将该游戏进行后可能得到的最小得分记为 f(a)f(a)。

现在,对于所有长度为 NN 且每个元素在 00 到 KK 之间的数列 aa,求 f(a)f(a) 的总和。由于答案可能非常大,请对 10000000071000000007(即 109+710^9+7)取模。

输入格式

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

NN KK

输出格式

输出 f(a)f(a) 的总和对 10000000071000000007 取模后的结果。

输入输出样例

  • 输入#1

    2 2

    输出#1

    10
  • 输入#2

    20 17

    输出#2

    983853488

说明/提示

约束条件

  • 1≤N≤1001 \leq N \leq 100
  • 1≤K≤N1 \leq K \leq N

样例解释 1

当 N=2N=2 且 K=2K=2 时,共有 99 种可能的数列 aa,各数列对应的 f(a)f(a) 值及操作示例如下:

  • f({0,0})f(\{0,0\}):00(无法操作)
  • f({0,1})f(\{0,1\}):11(无法操作)
  • f({0,2})f(\{0,2\}):00(依次操作格子 22 和格子 11)
  • f({1,0})f(\{1,0\}):00(选择格子 11)
  • f({1,1})f(\{1,1\}):11(选择格子 11)
  • f({1,2})f(\{1,2\}):00(依次操作格子 11、格子 22、格子 11)
  • f({2,0})f(\{2,0\}):22(无法操作)
  • f({2,1})f(\{2,1\}):33(无法操作)
  • f({2,2})f(\{2,2\}):33(选择格子 22)

翻译由 DeepSeek R1 完成

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

首页