P83064

Red Polyomino 2

难度 8 级 基于连通性的动态规划 状态压缩
讨论 统计 4通过 11提交 36.4%通过率 旧版界面
时间限制 3 秒 内存限制 1024 MB

题目描述

给定一个N行N列的网格,其中有一些网格是'#',另外一些网格是’.'。

你需要把其中的K个'.'网格涂成红色,并且使得这些红色网格可以通过上下左右移动至任意其他红色网格。

求有多少种不同的染色方案

输入

输入第一行一个数字N

输入第二行一个数字K

接下来的N行,每行N个字符'.'或'#'。表示网格的状态

输出

输出仅一个数,即方案数

样例

样例 1
输入
3
5
#.#
...
..#
输出
5
样例 2
输入
2
2
#.
.#
输出
0
样例 3
输入
8
8
........
........
........
........
........
........
........
........
输出
64678

提示

1 \leq N \leq 16 , k \leq N^2

来源

atcoder

Tab 缩进 · 提交后可在下方查看评测状态
请先登录后再提交