3026 - 刷方块

有一个n×n大小的方格图,某些方格初始是黑色,其余为白色。一次操作,可以选定一个h×w的矩形,把其中所有方格涂成白色,代价是max(h, w)。要求用最小的代价把所有方格变成白色。

输入

第1行是整数n,表示方格的大小。后面有n行,每行长度为n的串,包含符号’.‘和’#’,’.‘表示白色,’#'表示黑色。第i行的第j个字符是(i, j)。n ≤ 50。

输出

打印一个整数,表示把所有方格涂成白色的最小代价。

样例

输入

5
# . . . #
. # . # .
. . . . .
. # . . .
# . . . .

输出

5

提示

注意,输入样例中,为显示方便,#和.之间有空格。在测试数据中,#与.之间是没有空格的。

对于100%的数据,n<=50。

来源

动规专题

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题