给定一个 N
行 M
列的二维矩阵,矩阵中每个位置的数字取值为 0
或 1
,矩阵示例如:
1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1
现需要将矩阵中所有的 1
进行反转为 0
,规则如下:
1
时,该 1
被反转为 0
,同时相邻的上、下、左、右,以及左上、左下、右上、右下 8 个方向的 1
(如果存在 1
)均会自动反转为 0
;1
被反转为 0
时,与其相邻的 8 个方向的 1
(如果存在 1
)均会自动反转为 0
。按照上述规则示例中的矩阵只最少需要点击 2
次后,所有均值 0
。请问,给定一个矩阵,最少需要点击几次后,所有数字均为 0
?
第一行输入两个整数,分别表示矩阵的行数 N
和列数 M
,取值范围均为 [1,100]
。 接下来 N
行表示矩阵的初始值,每行均为 M
个数,取值范围 [0,1]
。
输出一个整数,表示最少需要点击的次数。
参加华为 OD 机试是一个全面评估应聘者综合能力和解决问题能力的过程,需要应聘者全面准备和充分发挥自己的优势。通过参加华为 OD 机试,应聘者不仅可以锻炼自己的编程能力和解决问题能力,还可以了解华为公司的企业文化和工作环境,为今后的职业发展奠定坚实的基础。华为OD机试的考试难度较高,需要应聘者具备扎实的技术功底和丰富的实践经验。因此,华为提供了多种培训课程,帮助应聘者提高技术水平和应对考试。同时,华为还提供了在线答疑服务,应聘者可以随时向专业人员咨询问题,提高自己的学习效率。