A21508.仓鼠窝
提高+/省选-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
萌萌哒的 Created equal 是一只小仓鼠,小仓鼠自然有仓鼠窝啦。
仓鼠窝是一个由 n×m 个格子组成的行数为 n、列数为 m 的矩阵。小仓鼠现在想要知道,这个矩阵中有多少个子矩阵。
比如说有一个 2×3 的矩阵,那么 1×1 的子矩阵有 6 个,1×2 的子矩阵有 4 个,1×3 的子矩阵有 2 个,2×1 的子矩阵有 3 个,2×2 的子矩阵有 2 个,2×3 的子矩阵有 1 个,所以子矩阵共有 6+4+2+3+2+1=18 个。
可是仓鼠窝中有的格子被破坏了。现在小仓鼠想要知道,有多少个内部不含被破坏的格子的子矩阵。
输入格式
第一行两个正整数 n 和 m,分别表示仓鼠窝的行数 n,列数 m。
接下来 n 行,每行 m 个数,每个数代表对应的格子,非 0 即 1。若为 0,表示这个格子被破坏;反之代表这个格子是完好无损的。
输出格式
仅一个正整数,表示未被破坏的子矩阵的个数。
输入输出样例
输入#1
3 4 1 1 1 1 1 0 1 1 1 1 0 1
输出#1
26
说明/提示
本题时限 2s,内存限制 256M,因新评测机速度较为接近 NOIP 评测机速度,请注意常数问题带来的影响。
数据编号 | n | m | 特殊性质 |
---|---|---|---|
1,2,3 | 2 | 2 | 无 |
4 | 10 | 10 | 无 |
5,6 | 2000 | 2000 | 所有格子均未被破坏 |
7 | 2500 | 3000 | 有且仅有一个格子被破坏 |
8 | 3000 | 2500 | 有且仅有一个格子被破坏 |
9 | 200 | 200 | 无 |
10,11,12 | 500 | 500 | 无 |
13,14 | 1000 | 1000 | 无 |
15 | 1000 | 1500 | 无 |
16 | 2500 | 2500 | 无 |
17 | 2500 | 3000 | 无 |
18 | 3000 | 2500 | 无 |
19,20 | 3000 | 3000 | 无 |