在遥远的未来,人类的星际方舟“启示录号”在穿越一片未知的小行星带时,船体遭到了微型陨石的撞击,导致部分区域受损。 为了评估飞船的结构完整性,维修系统需要对一块大小为 的船体截面进行扫描。 扫描结果被表示为一个 的矩阵,其中每个元素代表一个船体单元的状态: :表示该单元完好无损。 :表示该单元已损坏或出现破裂。 一个“独立密封舱”被定义为一片由一个或多个相连的完好单元组成的区域,该区域在上下左右四个方向上被损坏单元完全包围。 一个重要的前提是:扫描矩阵的外部区域被认为是与飞船主体相连的、广阔的完好区域 。 因此,任何与矩阵边界直接或间接相连的完好单元区域,都被视作飞船主体结构的一部分,而不是“独立密封舱”。 您的任务是编写一个程序,计算出所有独立密封舱的总面积(即,其中包含的完好单元的总数)。
输入描述:
第一行包含两个整数 和 ,分别代表船体截面扫描图的宽度和高度。接下来的 行,每行包含 个整数( 或 ),代表扫描矩阵的每一行。
输出描述:
输出一个整数,代表所有独立密封舱的总面积。
示例1
输入
7 7
1 1 1 1 1 1 1
1 0 0 0 0 0 1
1 0 1 1 1 0 1
1 0 1 0 1 0 1
1 0 1 1 1 0 1
1 0 0 0 0 0 1
1 1 1 1 1 1 1
示例2
输入
8 4
1 1 1 0 1 1 1 1
1 0 1 0 1 1 0 1
1 1 1 0 1 1 1 1
0 0 1 0 0 1 1 1
示例3
输入
8 4
0 0 1 0 1 0 0 0
0 0 1 0 0 1 0 0
1 1 1 0 0 1 1 1
0 0 0 0 0 0 0 0
示例4
输入
8 4
0 0 0 1 1 0 0 0
0 0 1 0 0 1 0 0
0 0 1 0 0 1 0 0
0 0 0 1 1 0 0 0
备注:
本题由牛友@Charles 整理上传
加载中...