AT_tupc2023_e And DNA

题目描述

请计算所有满足以下条件的长度为 $N$ 的数列 $A=(A_1,A_2,\dots,A_N)$ 的个数,并将结果对 $998244353$ 取余后输出。数列中的每个元素都是 $0$ 到 $M$ 之间的非负整数。 - 对于所有 $i=1,2,\dots,N$,都有 $A_i + (A_{i-1} \& A_{i+1})=M$ 成立。这里 $A_0 \coloneqq A_N, A_{N+1} \coloneqq A_1$,$\&$ 表示按位与运算。

输入格式

输入包括一行,包含两个整数 $N$ 和 $M$。

输出格式

请输出答案。

说明/提示

### 样例解释 1 满足条件的 $A$ 有 $(0,2,2),\ (2,0,2),\ (2,2,0),\ (1,1,1)$ 共 $4$ 个。 ### 样例解释 2 满足条件的 $A$ 只有 $(0,0,0)$ 这一个。 ### 样例解释 3 请将最终答案对 $998244353$ 取余后输出。 ### 数据范围 - $3 \leq N \leq 10^9$ - $0 \leq M \leq 10^9$ - 输入均为整数。 由 ChatGPT 5 翻译