#P15473. 同步通行

    ID: 14688 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 7 上传者: 标签>动态规划组合数学数学CF2200计数DP

同步通行

有一个 nnmm 列的网格。用 (i,j)(i,j) 表示从上到下第 ii 行、从左到右第 jj 列的格子。

两个格子 (a,b)(a,b)(c,d)(c,d) 之间的距离定义为

ac+bd.|a-c|+|b-d|.

现在有两台巡检机器人同时从 (1,1)(1,1) 出发。每一秒,每台机器人都必须选择向下移动一格或向右移动一格,两台机器人可以选择相同方向,也可以选择不同方向。它们最终都需要到达位于 (n,m)(n,m) 的终点。

为了保持通信稳定,在任意时刻,两台机器人之间的距离都必须不超过 kk。请计算满足条件的同步移动方案数。

两种方案被认为不同,当且仅当存在某个时刻,使得两台机器人在其中一个方案中的位置对,与另一个方案中的位置对不完全相同。

答案可能很大,请输出其对 998244353998244353 取模后的结果。

输入格式

第一行三个整数 n,m,kn,m,k

输出格式

输出一行一个整数,表示满足条件的方案数对 998244353998244353 取模后的结果。

样例 1 输入

3 3 1

样例 1 输出

6

样例 2 输入

5 5 3

样例 2 输出

3334

样例 3 输入

114 514 19

样例 3 输出

163412296

数据范围

保证对于所有数据满足 2n,m2×105,0kn+m22\leq n,m\leq 2\times 10^5,0\leq k\leq n+m-2

测试点编号 n,mn,m\leq kk
11 100100
232-3 500500
454-5 20002000
686-8 10510^5
9129-12 300\leq 300
131613-16 300\geq 300
172017-20 2×1052\times 10^5

测试点 686-8 额外满足 n2000n\leq 2000