Bricks in the Wall
InterviewTime limit2sMemory limit1024 MB
Given a grid of bricks and empty cells, find two non-overlapping horizontal or vertical runs of empty cells with the largest total length.
- Level
Medium5 of 10
- Topics
- Matrix, Implementation, Brute force
- Solved
- No attempts yet
Problem
Bob is decorating a loft-style rectangular wall with bricks. The wall consists of unit cells. Some cells are already occupied by bricks, while the remaining cells are empty.
Bob wants to add up to two more bricks to this wall. New bricks must have a width equal to unit and can have any positive integer length. Each brick can only be placed horizontally or vertically, so each new brick occupies several consecutive empty cells in one row or in one column. Also, these two bricks must not intersect, i.e. occupy the same cell.
What is the maximum possible sum of lengths of at most two new bricks that Bob can add to this wall?
Input
The first line contains the number of test cases (). The description of the test cases follows.
The first line of each test case contains two integers and , the height and the width of the wall (; ).
The next lines contain characters each, describing the wall. An occupied cell is denoted by #, and an empty cell is denoted by ..
It is guaranteed that the sum of over all test cases does not exceed .
Output
For each test case, print a single integer, the maximum possible sum of lengths of at most two new bricks.