#98. 剪纸
剪纸
【题目描述】
小 Q 找到了一张矩形纸片,该纸片是一个由 N × M 个格子组成的网格图,但可能有些格子是坏格子。小 Q 想沿着纸片边缘或网格线裁剪出一个矩形,这个矩形内不能有坏格子。他希望知道有多少种可行的裁剪方案。于是小 Q 找到了即将参加全国信息学竞赛的你,你能帮助他么?
注:不裁剪也可能是一种可行的裁剪方案。
【输入格式】
第一行包含两个整数 N 和 M,分别表示矩形纸片的长和宽。
接下来的 N 行包含一个 N × M 的 01 矩阵,表示这张矩形纸片中格子的状态(0 表示坏格子,1 表示好格子)。
【输出格式】
包含一个整数,表示不同的裁剪方案数
【样例输入】
2 3
1 0 1
1 1 0
【样例输出】
6
【样例解释】
样例中,有 4 种方法可以裁剪出一个 1×1 的矩形,有 2 种方法可以裁剪出一个 1×2(或 2×1)的矩形
【数据范围】
共 25 个测试点,其中:
| 测试点编号 | 行数n= | 列数m= | 备注 |
|---|---|---|---|
| 1 | 10 | 15 | 无 |
| 2 | 15 | ||
| 3 | 50 | ||
| 4 | |||
| 5 | |||
| 6 | 150 | ||
| 7 | |||
| 8 | |||
| 9 | |||
| 10 | |||
| 11 | 2000 | 所有格子均为好格子 | |
| 12 | 3000 | 3000 | |
| 13 | 2500 | 有且仅有一个格子是坏格子 | |
| 14 | 3000 | 2500 | |
| 15 | 200 | 无 | |
| 16 | 500 | ||
| 17 | |||
| 18 | |||
| 19 | 1000 | 1000 | |
| 20 | |||
| 21 | 1500 | ||
| 22 | 2500 | ||
| 23 | |||
| 24 | 3000 | ||
| 25 | |||
相关
在下列比赛中: