P16619 [GKS 2017 #B] Christmas Tree
Description
You are given a rectangular grid with $N$ rows and $M$ columns. Each cell of this grid is painted with one of two colors: green and white. Your task is to find the number of green cells in the largest Christmas tree in this grid.
To define a Christmas tree, first we define a good triangle as follows:
A good triangle with top point at row $R$, column $C$ and height $h$ is an isoeles triangle consisting entirely of green cells and pointing upward. Formally, this means that: The cell ($R$, $C$) is green, and for each $i$ from $0$ to $h-1$ inclusive, the cells in row $R+i$ from column $C-i$ to column $C+i$ are all green.
For example:
```
..#..
.####
#####
```
is a good triangle with height 3. The # cells are green and the . cells are white. Note that there is a green cell that is not part of the good triangle, even though it touches the good triangle.
```
..#..
.###.
####.
```
is **NOT** a good triangle, because the 5th cell in the 3rd row is white. However, there are good triangles with height 2 present.
```
...#.
.###.
#####.
```
is **NOT** a good triangle. However, there are good triangles with height 2 present.
A K-Christmas tree is defined as follows:
* It contains exactly $K$ good triangles in vertical arrangement.
* The top cell of the $i+1$-th triangle must share its top edge with the bottom edge of any one of the cells at the base of the $i$-th triangle. This means that, if the base of the $i$-th triangle is at row $r$, from column $c1$ to column $c2$, then the top of the $i+1$-th triangle must be on row $r+1$, in a column somewhere between $c1$ and $c2$, inclusive.
For example, if $K = 2$:
```
...#...
..###..
.#####.
#######
..#....
.###...
#####..
```
is a valid 2-Christmas tree. Note that the height of the 2 good triangles can be different.
```
..#..
.###.
.#...
```
is also a valid 2-Christmas tree. Note that a good triangle can be of height 1 and have only one green cell.
```
...#...
..###..
.#####.
.......
..#....
.###...
#####..
```
is **NOT** a valid Christmas tree, because the 2nd triangle must starts from the 4-th row.
```
...#.
..###
.#...
###..
```
is **NOT** a valid Christmas tree, because the top of the 2nd triangle must be in a column between 3 and 5, inclusive.
You need to find the K-Christmas tree with the largest number of green cells.
Input Format
The first line of the input gives the number of test cases, $T$. $T$ test cases follow. Each test case consists of three lines:
* The first line contains 3 space-separated integers $N$, $M$ and $K$, where $N$ is the number of rows of the grid, $M$ is the number of columns of the grid and $K$ is the number of good triangle in the desired Christmas tree.
* The next $N$ lines each contain exactly $M$ characters. Each character will be either . or #, representing a white or green cell, respectively.
Output Format
For each test case, output one line containing Case #x: y, where x is the test case number (starting from 1) and y is the number of green cells in the largest K-Christmas tree. If there is no K-Christmas tree, output 0.
Explanation/Hint
### Limits
$1 \le T \le 100$.
$1 \le M \le 100$.
$1 \le N \le 100$.
Each cell in the grid is either . or #.
**Small dataset (Test set 1 - Visible)**
${K} = 1$.
**Large dataset (Test set 2 - Hidden)**
$1 \le {K} \le 100$.