#P3632. 第2题-聚光灯得分

第2题-聚光灯得分

题目内容

在未来的霓虹都市中,每到夜晚,城市中的智能聚光灯会自动扫描四周,寻找行人并点亮方向,为城市节省能源。每个聚光灯 (0)(0) 会朝上、下、左、右四个方向无限延伸地扫描,若某方向上有至少一个行人,则该聚光灯获得 11 分。

作为城市的能源工程师,你需要计算:所有聚光灯在四个方向上总共能获得多少分?

备注说明

霓虹都市的布局是一个矩阵,矩阵中的每个单元格代表城市的一块街区,街区被标记为 00 或者 11

  • 11 表示街区中有行人。

  • 00 表示安装了聚光灯。

聚光灯的扫描逻辑:每个聚光灯会朝四个方向无限延伸地扫描。若某方向上有至少一个行人,则该方向得 11 分。

你的任务目标:统计所有聚光灯的总得分。

(注意:本题的输入数据较大,使用 pythonpython 的同学请用 pypypypy 提交,否则可能会超时!)

输入描述

输入为矩阵,第一行两个正整数 NNM(1<=N,M<=103)M(1<=N,M<=10^3) ,分别表示矩阵的行数和列数。

接下来 NN 行,每行 MM 个正整数 a[i][j]a[i][j] ,表示表示街区的布局:

00 表示聚光灯。

11 表示行人。

输出描述

一个正整数,表示所有聚光灯的总得分。

样例1

输入

2 4
0 1 0 0

输出

9

说明

(11)(1,1) 的灯可以获得 22 分(向右、向下)

(13)(1,3) 的灯可以获得 22 分(向左、向下)

(14)(1,4) 的灯可以获得 11 分(向左)

(22)(2,2) 的灯可以获得 33 分(向左,向右,向上)

(24)(2,4) 的灯可以获得 11 分(向左)

总和 99 分。