二维跑步
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛在二维空间中跑步!

牛牛在二维坐标中跑步。其 x 坐标可取任意整数值,而纵坐标仅能取 0,1,2。初始时,他位于原点 (0,0),然后牛牛跑了n步。每一步:

- 若位于 (i,0),牛牛只能跑到 (i+1,0),(i+1,1),(i+1,2),(i,0),(i-1,1),(i-1,2)

- 若位于 (i,1)牛牛只能跑到 (i+1,0),(i+1,1),(i+1,2),(i,1),(i-1,0),(i-1,2)

- 若位于 (i,2)牛牛只能跑到 (i+1,0),(i+1,1),(i+1,2),(i,2),(i-1,0),(i-1,1)

每次牛牛跑步都不想跑的太远,于是牛牛想考考你,有多少种跑步方式使得他的 x 坐标最后落在区间 [-m,m] 中。

答案对998244353取模输出。

输入描述:

一行两个正整数,n, m。

输出描述:

一个整数表示答案。
示例1

输入

复制
5 2

输出

复制
5616

备注:

本题已于下方时间节点更新,请注意题解时效性:
1. 2025-11-06 优化题面。