#LQB0060. 图案描边

图案描边

题目描述:

乐乐有一张 n 行 m 列的网格纸,每个格子都是边长为 1 厘米的正方形,网格被绘制了一些图案。乐乐准备沿着图案的边缘进行描边,描边的规则如下:
1)只需要描有图案的格子;例如:下图 5 行 3 列的网格中,绘制了一个感叹号(黑色格子表示已经被绘制),所以只需要描表示感叹号的黑色格子。

2)绘制的图案中,如果格子之间有重合的边,则格子之间重合的边都不需要描,其余边需要描。例如:下图感叹号的图案中,只需要描没有重合的边(黄色矩形框表示)。

给定 n 行 m 列的网格,以及网格中被绘制的图案,请计算乐乐一共需要描边的长度为多少厘米。
例如:n = 5,m = 3;下图 5 行 3 列的网格中,绘制了一个感叹号,一共需要描边的长度为 12 厘米。

输入描述:

第一行输入两个整数 n 和 m(1≤n,m≤100),分别表示网格的行数和列数,整数之间以一个空格隔开;
接下来输入 n 行,每行 m 个整数,整数为 1 或 0,1 表示该格子被绘制,0 表示该格子没有被绘制,整数之间以一个空格隔开。

输出描述:

输出一个整数,表示乐乐一共需要描边的长度。

5 3
0 1 0
0 1 0
0 1 0
0 0 0
0 1 0
12

Limitation

1s, 1024KiB for each test case.