CF2061C.Kevin and Puzzle
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 n 个人排成一行,第 i 个人说他的左边有 ai 个说谎的人。
每个人要么诚实,要么说谎,诚实的人总是说真话,说谎的人说的话可真可假,没有两个说谎的人站在一起。
两个方案被认为是不同的,应当使至少一个人在一个方案诚实,在另外一个方案说谎。请输出不同的方案数对 998244353 取模的结果。
输入格式
多组测试用例,第一行输入 t(1≤t≤104),表示测试用例组数。
对于每组测试用例,第一行输入一个正整数 n(n≤2×105,∑n≤2×105),表示人数。
第二行输入 n 个整数 a1,a2,…,an(0≤ai≤n)。
输出格式
对于每组测试用例,输出不同的方案数对 998244353 取模的结果。
样例解释
将使用 红色 表示说谎的人,蓝色 表示诚实的人。
- 测试用例 1 : (0,1,2);
- 测试用例 2 : (0,0,0,0,0) 或 (0,0,0,0,0);
- 测试用例 3 : (0,0,1,1,2) 或 (0,0,1,1,2) 或 (0,0,1,1,2)。
输入输出样例
输入#1
8 3 0 1 2 5 0 0 0 0 0 5 0 0 1 1 2 5 0 1 2 3 4 5 0 0 1 1 1 5 5 1 5 2 5 1 0 4 2 3 1 1
输出#1
1 2 3 0 4 1 2 0