/** * @param {character[][]} grid * @return {number} */ function numOffices(grid) { let result = 0; //Put your code here. return result; }; let height = parseInt(readline()); let width = parseInt(readline()); let grid = []; for (var i = 0; i < height; i++) { grid[i] = (readline() || "").split(""); } print(numOffices(grid)); You are the owner of a coworking space like WeWork and your office building is rectangular. Your team just built wall partitions to create mini offices for startups. This office campus is represented by a 2D array of 1s (floor spaces) and 0s (walls). Each point on this array is a one foot by one foot square. You need to calculate the number of offices. A single office is bordered by walls and is constructed by placing floors next to each other, horizontally and/or vertically. Two 1s adjacent to each other horizontally or vertically are always part of the same office. [SIZE=4] [B]Functions[/B][/SIZE] numOffices() has one parameter: [LIST] [*]grid: a 2D grid/array of 1s and 0s [/LIST] [SIZE=4] [B]Input Format[/B][/SIZE] For some of our templates, we have handled parsing for you. If we do not provide you a parsing function, you will need to parse the input directly. In this problem, our input format is as follows: [LIST] [*]The first line is the number of rows in the 2D array [*]The second line is the number of columns in the 2D array [*]The rest of the input contains the data to be processed [/LIST] Here is an example of the raw input: 4 5 11110 11010 11000 00000 [SIZE=4] [B]Expected Output[/B][/SIZE] Return the number of valid offices in the grid. [SIZE=4] [B]Constraints[/B][/SIZE] [LIST] [*]Assume all four edges of the grid are all surrounded by walls. [*]Assume that the bounds of the array are the following: [*]The total amount of elements in the array: width x height <= 10^6 [/LIST] [SIZE=4] [B]Example[/B][/SIZE] Example numOffices() Input grid: [[1, 1, 0, 0, 0], [1, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 1, 1]] Example Output 3 Solution [SIZE=4][B]There's 3 offices in this grid, one made of four 1s on the top left, one made of one 1 in the middle, and one made of two 1s in the bottom right.[/B] [/SIZE][/i]