codeforces#P1198D. Rectangle Painting 1
Rectangle Painting 1
Description
There is a square grid of size $n \times n$. Some cells are colored in black, all others are colored in white. In one operation you can select some rectangle and color all its cells in white. It costs $\max(h, w)$ to color a rectangle of size $h \times w$. You are to make all cells white for minimum total cost.
The first line contains a single integer $n$ ($1 \leq n \leq 50$) — the size of the square grid.
Each of the next $n$ lines contains a string of length $n$, consisting of characters '.' and '#'. The $j$-th character of the $i$-th line is '#' if the cell with coordinates $(i, j)$ is black, otherwise it is white.
Print a single integer — the minimum total cost to paint all cells in white.
Input
The first line contains a single integer $n$ ($1 \leq n \leq 50$) — the size of the square grid.
Each of the next $n$ lines contains a string of length $n$, consisting of characters '.' and '#'. The $j$-th character of the $i$-th line is '#' if the cell with coordinates $(i, j)$ is black, otherwise it is white.
Output
Print a single integer — the minimum total cost to paint all cells in white.
Samples
3
###
#.#
###
3
3
...
...
...
0
4
#...
....
....
#...
2
5
#...#
.#.#.
.....
.#...
#....
5
Note
The examples and some of optimal solutions are shown on the pictures below.