#P1900. 2024.08.18-DJ-第1题(后端B卷)-计算无人机巡逻覆盖地块数

2024.08.18-DJ-第1题(后端B卷)-计算无人机巡逻覆盖地块数

题目内容

一块地用一个从 00 开始索引的二维二进制矩阵 blockblock 表示,其中 00 表示空闲地块,11 表示放有障碍物的地块。在每个测试用例中,地的左上角永远是空闲的。一架无人机面向右侧,从左上角开始巡逻。无人机将一直前进,直到抵达的边界或遇到障碍物地块时,无人机将会顺时针旋转 9090 度并重复以上步骤,初始位置和无人机飞过的地块都会被它巡逻。

若无人机可以持续飞行下去,输出被巡逻到的地块数量。

输入描述

输入代表地块的二维数组,其中 00 代表空闲,11 代表有障碍物,例如 block=[[0,0,0],[1,1,0],[0,0,0]]block=[[0,0,0],[1,1,0],[0,0,0]]

输出描述

输出无人机巡逻能覆盖的地块个数,例如 77

3 3
0 0 0
1 1 0
0 0 0 
7

说明

m==block.lengthm==block.length

n==block[r].lengthn==block[r].length

lm,n300l\le m,n\le 300

block[r][c]block[r][c] 只会是 0011

block[0][0]block[0][0]00