#P7171. [COCI2020-2021#3] Selotejp

[COCI2020-2021#3] Selotejp

题目背景

在 Mirko 看来,没有比找到一卷新的胶带纸要更令人快乐,而今天他格外开心,因为他找到 Slavko 的基督日历。

题目描述

基督日历可以被一个 nnmm 列的表格所表示。每个方格包含一个小窗口,而每个小窗口后有一块巧克力。Slavko 已经打开了部分窗口,而其他的处于关闭状态。

Mirko 打算用他的胶带纸去把所有的窗口粘贴,使它们处于关闭状态。胶带纸长度无限大,并且宽度与一个窗口吻合。Mirko 可以撕下一部分胶带纸来将 一横排或一纵列连续的窗口 合上,使其关闭。他不想放太多胶带纸,因为他仍旧想做 Slavko 的朋友。

他想知道将所有窗口都关闭所需的最少胶带纸的数量。

输入格式

第一行输入两个整数 n,mn,m,表示基督日历的规模。

接下来的 nn 行,每行包含 mm 个字符,表示基督日历的各个方格。. 表示关闭的窗口,# 表示打开的窗口。

输出格式

输出关闭所有窗口所需胶带纸数量的最小值。

2 3
#.#
###
3
4 3
.#.
###
.##
.#.
3
4 4
####
#.#.
#.##
####
5

提示

【样例解释 #1】

一种符合题意的方案:分别在第一列整列、第三列整列和第二行第二列处使用胶带纸。

【数据范围】

Subtask 分值 数据范围及约定
11 3535 每个窗口与至多两个已关闭的窗口相邻
22 1n101 \le n \le 10
33 4040

对于 100%100\% 的数据,1n10001 \le n \le 10001m101 \le m \le 10

【说明】

本题分值按 COCI 原题设置,满分 110110

题目译自 COCI2020-2021 CONTEST #3 T4 Selotejp