#ZTZ2610T3. 【张老师2026·4+1拓展·10套·T3】Counting Game

    ID: 3658 传统题 500~2000ms 512MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>张老师拓展20264+1拓展20套第10套普及组训练组合计数乘法原理

【张老师2026·4+1拓展·10套·T3】Counting Game

来源:张老师 2026 CSP-J 4+1 拓展题 20 套;第 10 套,第 3 题。原题标号:C;原本地编号:Z4P1-10-C。

C. Counting Game

对于一个长度为 nn 的 01 串 bb,请求出,有多少个 nn 的排列 aa,满足:对于任意 2≤i≤n2\le i\le n,记 mm 为 a1,a2,⋯ ,ai−1a_1,a_2,\cdots,a_{i-1} 中的最大值,

  • 若 bi=0b_i=0,则 ai<ma_i<m;
  • 否则 ai>ma_i>m。

说明:b1b_1 对 aa 没有影响。

由于结果可能很大,所以你只需要输出结果对 998244353998244353​ 取模的值。

输入格式

本题有多组数据。

第一行一个整数 TT,表示数据组数。

对于每组数据:

  • 第一行一个整数 nn,意义如题述。
  • 第二行一个长度为 nn 的 01 串 bb。

输出格式

对于每组数据,输出一行一个整数,即满足条件的排列的数量,对 998244353998244353 取模。

样例

输入样例 1

3
3
111
3
101
4
0101

输出样例 1

1
1
2

样例 1 说明

  • 对于数据 1,唯一的 a={1,2,3}a=\{1,2,3\}。
  • 对于数据 2,唯一的 a={2,1,3}a=\{2,1,3\}。
  • 对于数据 3,存在两个不同的 aa:a={1,3,2,4}a=\{1,3,2,4\} 或 a={2,3,1,4}a=\{2,3,1,4\}。

数据规模与约定

对于 100%100\% 的数据,有 1≤T≤1041\le T\le 10^4,2≤n≤1062\le n\le 10^6,∀i∈[1,n],bi∈{0,1}\forall i\in[1,n],b_i\in\{0,1\}。

保证单个测试点内 ∑n≤2×106\sum n\le 2\times10^6。