#ATfps24v. 12 Directions

12 Directions

AT_fps_24_v 12 方向

题目描述

在一个二维坐标平面上,有一个棋子放在 (0,0) (0, 0)

你将进行 N N 次如下操作:

  • 选择一个整数 i i ,满足 0i11 0 \leq i \leq 11
    若棋子当前位置为 (x,y) (x, y) ,则将其移动到 (x+cos(30i),y+sin(30i)) (x + \cos(30i)^\circ, y + \sin(30i)^\circ)

统计有多少种操作序列,使得经过 N N 次操作后,棋子回到 (H,W) (H, W) 。输出结果对 998244353 998244353 取模。

输入格式

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

N N H H W W

输出格式

输出满足条件的操作序列数,对 998244353 998244353 取模。

输入输出样例 #1

输入 #1

2 0 0

输出 #1

12

输入输出样例 #2

输入 #2

123456 0 0

输出 #2

352845935

输入输出样例 #3

输入 #3

50 -12 34

输出 #3

391874286

输入输出样例 #4

输入 #4

234567 89012 -34567

输出 #4

523418763

说明/提示

部分分数

本题有部分分数:

  • 如果你能解决所有 (H,W)=(0,0) (H, W) = (0, 0) 的数据集,你将获得 5 5 分。

样例解释 1

对于每个整数 n n ,满足 0n11 0 \leq n \leq 11 ,如果第一次操作选 i=n i = n ,第二次操作选 i=(n+6)mod12 i = (n+6) \bmod 12 ,则条件成立。因此有 12 12 种有效序列。

数据范围

  • 1N2.5×105 1 \leq N \leq 2.5 \times 10^5
  • NHN -N \leq H \leq N
  • NWN -N \leq W \leq N
  • N,H,W N, H, W 为整数。

由 ChatGPT 5 翻译