#P10313. [SHUPC 2024] 占地斗士!

[SHUPC 2024] 占地斗士!

题目背景

一个名为“占地斗士”的卡牌小游戏深深的吸引了小 A 。目前小 A 正在进行卡牌摆放练习,但是她并不熟练,于是想要请教擅长编程的你来解决这个问题。

题目描述

游戏的具体规则为:游戏在一个 n×mn\times m 的方格矩阵中进行,. 代表这个格子可以被放置,# 代表这个格子不能被放置。你手中有 44 种形状各异的卡牌,每种卡牌均只有一张。你需要将卡牌放置在棋盘中,卡牌可以放置在任意位置,但是卡牌占领的格子不能重叠,也不能放在不能放置的格子上。目标是要使得卡牌占领的格子数量尽可能多。 小 A 现在想知道,在最优的摆放策略下,最多可以占领多少个格子?

输入格式

第一行输入两个正整数 n,m (1n,m10)n,m\ (1 \le n,m\le10)

接下来 nn 行,每行 mm 个字符串,保证字符仅包含 .# ,代表棋盘的放置类型。

输出格式

输出一个整数,代表答案。

3 3
...
...
...
9
3 3
..#
.#.
#..
4

提示

样例解释:

样例一最优摆放方法如下,使用第一种和第二种卡牌,最多可以占领 99 个格子。

img1

样例二最优摆放方法如下,使用第二种卡牌,最多可以占领 44 个格子,红色代表这个格子不能放置卡牌。

img2