#P3400. 仓鼠窝

仓鼠窝

仓鼠窝

  • 时间限制:1 秒
  • 内存限制:128 MiB

题目描述

仓鼠窝是一个由 n×mn\times m 个格子组成的矩阵。部分格子已经被破坏。

请统计有多少个子矩阵内部不含被破坏的格子。输入中的 00 表示格子被破坏,11 表示格子完好;因此题目等价于统计全由 11 构成的子矩阵数量。

输入格式

第一行包含两个正整数 n,mn,m

接下来 nn 行,每行包含 mm 个以空格分隔的整数,每个整数均为 0011

输出格式

输出一个整数,表示全由 11 构成的子矩阵数量。

样例输入

3 4
1 1 1 1
1 0 1 1
1 1 0 1

样例输出

26

数据范围

对于所有数据,1n,m30001\le n,m\le3000,矩阵元素均为 0011

子任务编号 分值 特殊限制
1 20 被破坏的格子至多有一个
2 10 n30n\le30m30m\le30
3 30 n200n\le200m200m\le200
4 40 无特殊限制