Description
给定一个排列在环上的二进制字符串 a0a1a2…an−1。每一秒钟,你会同时将每个 01 变为 10。换句话说,如果 ai=0 且 a(i+1)modn=1,则交换 ai 和 a(i+1)modn。例如,我们将 100101110 变为 001010111。
你需要回答在无限秒内会出现多少种不同的字符串,取模 998244353。
注意:如果存在整数 i∈{0,1,…,n−1} 使得 ai=bi,则两个字符串 a0a1…an−1 和 b0b1…bn−1 是不同的。因此,字符串的循环移位可能与原始字符串不同。
第一行包含一个整数 T (1≤T≤106) − 测试用例的数量。
对于每个测试用例,第一行包含一个二进制字符串 a0a1…an−1 (ai∈{0,1})。
保证所有测试用例中字符串长度的总和不超过 107。
对于每个测试用例,输出一行一个整数,表示答案。
翻译来自于:ChatGPT
3
1
001001
0001111
1
3
9