#P412. 随机序列求逆
随机序列求逆
题目描述
对一个正整数 反复执行以下过程 次,会得到一个二进制字符串:
s = [(a*s+c)/k] mod m
if (s < [m/2])
output 0
else
output 1
其中 表示不超过 的最大整数。
给定一个二进制字符串,请问一开始有多少种不同的取值,可以问让输出的字符串恰好等于? (规定 的取值范围:)
输入格式
第一行:五个整数,,,,。 第二行:个字符,表示给定的二进制字符串 。
输出格式
单个整数:表示满足条件的 的初值的方案数。
7 3 10 10 10
0000000000
7
数据范围
- 对于 的数据:,
- 对于 的数据:, ,,