#D0962. 进度
进度
题目描述
33DAI 在安排一场比赛的出题进度。第 天他出了 道题。从第 天到第 天,每一天的情况由一个字符给出,字符 A、B、C 的含义分别是:
A:这一天的出题数 = 前一天的出题数 ;B:这一天的出题数 = 前一天的出题数 ;C:这一天的出题数 = 前一天的出题数的算术平方根,即前一天的出题数是完全平方数时,取它的平方根。
请算出第 天 33DAI 出了多少道题。因为这个数可能非常大,你只需要输出它除以 的余数。
输入格式
输入的第一行是一个整数 ,表示测试用例组数。
接下来依次给出 组测试用例,每组测试用例的格式为:
- 第一行一个整数 ,表示一共有多少天;
- 第二行一个长度为 的字符串 ,其中 表示第 天的情况,。
特别地,当 时第二行是空行。
输出格式
对每组测试用例输出一行一个整数,表示该组第 天的出题数除以 的余数。
3
1
5
AABB
6
AABBC
1
36
6
样例 1 解释
第 1 组:,只有第一天,出了 道题, 除以 的余数是 ,输出 1。
第 2 组:字符串是 AABB,一共 天,逐天算下去:
| 天 | 情况 | 出题数 |
|---|---|---|
| 1 | — | 1 |
| 2 | A |
|
| 3 | ||
| 4 | B |
|
| 5 |
所以第 天出了 道题, 除以 的余数是 ,输出 36。
第 3 组:字符串是 AABBC,前 天与第 2 组一样,第 天出了 道题。第 天是 C,而 是完全平方数,出题数取它的平方根,即 道,输出 6。
1
43
AABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBB
360597229
样例 2 解释
按题意逐天算下去,第 天的出题数是 。把它除以 :
$$112717121716224 = 998244353 \times 112915 + 360597229$$余数是 ,所以输出 360597229。
样例 3
样例 4
数据范围
对于所有测试数据,保证:
- ;
- ;
- 字符串只由
A、B、C组成,且长度为 ; C只出现在前一天的出题数确实是完全平方数的时候;- 所有测试用例的 之和不超过 。
子任务
本题共 20 个测试点,按测试点计分:
| 测试点 | 分值 | 每个测试点 | 特殊限制 |
|---|---|---|---|
| 无额外限制 |
每个测试点单独评分,全部测试点的得分之和即为本题得分。