#aBC295EX. [ABC295Ex] E or m
[ABC295Ex] E or m
AT_abc295_h [ABC295Ex] E or m
题目描述
有一个 行 列的网格 ,初始时所有格子上的数字都是 。
接下来进行如下操作:
- 对于每个满足 的整数 ,可以将 的第 行从左边起连续的 个或更多格子的数字变为 。
- 对于每个满足 的整数 ,可以将 的第 列从上边起连续的 个或更多格子的数字变为 。
通过上述操作能够得到的所有 的集合记为 。
现在给定一个由 0、1、? 组成的 行 列的网格 。
将 中的每个 ? 替换为 0 或 1,一共可以得到 个不同的网格( 为 中 ? 的总数)。
在这些网格中,有多少个属于 ?
由于答案可能非常大,请输出答案对 取模的结果。
输入格式
输入通过标准输入给出,格式如下:
输出格式
请输出一个整数,表示答案。
输入输出样例 #1
输入 #1
2 3
0?1
?1?
输出 #1
6
输入输出样例 #2
输入 #2
5 3
101
010
101
010
101
输出 #2
0
输入输出样例 #3
输入 #3
18 18
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
输出 #3
462237431
说明/提示
限制条件
- 为整数
- 是由
0、1、?组成的 行 列的网格
样例解释 1
满足条件的网格共有如下 个:
011 011 001
010 011 110
001 011 011
111 110 111
样例解释 2
即使 中没有 ?,答案也有可能为 。
样例解释 3
请注意,答案需要对 取模。
由 ChatGPT 4.1 翻译