1144 : 盖房子
时间限制Time Limit
5
秒Sec
内存限制Memory Limit
128
兆MB
提交次数Submitted
1 次Times
通过次数Solved
1 次Times
标准评测 Standard
从标准输入读入,结果写到标准输出。评测将输出拆成 token,与标准答案逐项比较,不按整段逐字节比对。
Read from standard input and write to standard output. The judge splits the output into tokens and compares them with the official answer; it does not compare raw bytes.
| 比对Compare | token 相同即通过。中间的空格、制表符、换行可多可少。Matching tokens pass. Extra spaces, tabs, or newlines between them are ignored. |
|---|---|
| 不同则错Differs | token 个数或内容不同即错误。23 与 2 3、02 与 2、2.0 与 2 均视为不同。A different token count or value is wrong. 23 vs 2 3, 02 vs 2, and 2.0 vs 2 all differ. |
| 输入Input | 标准输入,格式见题面。Standard input; format as in the statement. |
| 输出Output | 标准输出。Standard output. |
题目描述Description
Bobo 在 ICPCCamp 买了一块 n×m 的土地,其中有些格子是障碍。
他想选择两个矩形区域,建造两座房子。 很明显,用于盖房子的区域不能包含障碍。同时,两个区域不能相交(但是可以相邻)。
Bobo 想知道所有可能不同方案的数量除以 (109 + 7) 的余数。
输入格式Input
输入包含不超过 10 组数据。
每组数据的第一行包含两个整数 n, m(1 ≤ n, m ≤ 103).
接下来 n 行中的第 i 行包含一个长度为 m 的字符串 si。si 的第 j 位是 0 则表示第 i 行第 j 列的格子是空地,是 1 则表示该格子是障碍。
输出格式Output
对于每组数据,输出一个整数表示所求的值。
样例Sample
出题Author
ftiasch