C. 小Y的芯片

    Type: Default File IO: xinpian 1000ms 256MiB

小Y的芯片

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

你有 nn 个芯片,并且要将它们放置在 xx 个点上,这些点编号为 11xx 。每个点可以放置多个芯片。

在放置芯片后,你可以执行以下四种操作(顺序任意,次数不限):

  • 选择在点 i3i \geq 3 的一个芯片,将其移除,并在 i1i - 1i2i - 2 各放置一个芯片;
  • 选择在相邻点 iii+1i + 1 的两个芯片,将它们移除,并在 i+2i + 2 放置一个新芯片;
  • 选择在点 11 的一个芯片,并将其移到点 22
  • 选择在点 22 的一个芯片,并将其移到点 11

注意,放置操作中芯片的位置不能小于 11,但可以大于 xx

定义芯片放置的成本为:经过以上操作后剩余的最少芯片数。

例如,将两个芯片放在点 33 和一个芯片放在点 55 的成本为 22,因为可以通过以下步骤将芯片数减少到 22

  • 选择点 33 的一个芯片,移除它,并在点 11 和点 22 各放置一个芯片;
  • 选择点 22 和点 33 的芯片,移除它们,并在点 44 放置一个芯片;
  • 选择点 44 和点 55 的芯片,移除它们,并在点 66 放置一个芯片。

给定三个整数 nnxxmm,计算在点 11xx 放置恰好 nn 个芯片且成本等于 mm 的放置方案数,并输出其模 998244353998244353 的结果。如果两个放置方案在某点的芯片数不同,则认为它们是不同的放置方案。

输入格式

一行包含三个整数 nnxxm(1mn1000;2x10)m (1 \le m \le n \le 1000 ; 2 \le x \le 10 )

输出格式

输出一个整数,表示成本等于 mm 的放置方案数,并对 998244353998244353 取模。

输入输出样例 #1

输入 #1

2 3 1

输出 #1

5

输入输出样例 #2

输入 #2

42 10 5

输出 #2

902673363

输入输出样例 #3

输入 #3

1000 10 8

输出 #3

187821763

云南省青少年编程挑战赛动态规划专项赛提高组

Not Attended
Status
Done
Rule
IOI
Problem
4
Start at
2026-3-28 14:00
End at
2026-3-28 18:00
Duration
4 hour(s)
Host
Partic.
33