已结束 GESP巅峰赛#36
← 上一题 下一题 →

A7472 | 午枫的涂色方案

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

小午在课堂上有一排 $N$ 个座位,从左到右编号为 $1$ 到 $N$。最开始,每个座位 $i$ 上写着一个数字 $i \bmod 2$,也就是 0 或 1 交替出现。现在小午可以进行若干次(可以为 0 次)操作,每次操作如下:

选择两个位置 $l$ 和 $r$(要求 $l + 1 < r$),并满足:

- 座位 $l$ 和座位 $r$ 上的数字相同;
- 对于所有 $l < i < r$,座位 $i$ 上的数字与座位 $l$ 的数字不同;

满足条件后,小午可以把区间 $(l, r)$ 中所有座位的数字全部改成座位 $l$ 的数字。现在给定最终目标状态 $A_1, A_2, \dots, A_N$,问有多少种不同的操作序列可以将初始状态变成目标状态。

如果两个操作序列满足以下任意条件,则认为它们不同:

- 操作次数不同;
- 或存在某一步操作中选择的 $(l, r)$ 不同。

由于答案可能很大,请对 $998244353$ 取模。

输入格式

第一行输入一个整数 $N$,表示座位数量。

第二行输入 $N$ 个整数 $A_1, A_2, \dots, A_N$,表示最终每个座位上的数字。

输出格式

输出一个整数,表示能够得到目标状态的不同操作序列数量(对 $998244353$ 取模)。

输入输出样例

输入 #1
6
1 1 1 1 1 0
输出 #1
3
C++ 编辑器
输入
输出