查找 404
内存限制: 256 Mb时间限制: 1000 ms
题目描述 Eve 有一个字符串 S S,该字符串仅由字符 *、4 和 0 组成。字符 * 可以被替换为 4 或 0。
Eve 想要计算在所有可能通过替换 * 生成的字符串中,包含子序列 404 的总数。由于这个数字可能非常大,你需要其输出模10的9次方+7的结果。
例如,当 S 为 4 时,可以替换为 4040,4044,4440,4444,其中分别有 1,2,0,0 个 404 子序列,共 3 个。
输入格式 第一行一个整数 T 表示数据组数。对于每组数据:
第一行一个整数 n 表示 S 的长度。
第二行一个字符串 S。
输出格式 对于每组数据,输出一行一个整数表示答案。
数据范围 对于 30% 的数据, 1≤T≤10,
1≤n,∑n≤10。
对于 60% 的数据, 1≤n,∑n≤100。
对于 100% 的数据, 1≤T≤10
1≤n≤10的5次方 , 10的6次方 1≤∑n≤10 6 , S 中仅包含 4、0 和 * 三种字符。
样例数据 输入:
2
4
4*04
4
4* 4*
输出:
4
3
说明: 第二组数据即为题目描述中举的例子。