Home => ProblemSet => 100.2023-03:涂色方案
Problem1914--100.2023-03:涂色方案

1914: 100.2023-03:涂色方案

Time Limit: 1 Sec  Memory Limit: 128 MB  Submit: 0  Solved: 0
[ Submit ] [ Status ] [ Creator: ][ 参考程序 ]

Description

给你一个 NxN 的矩阵 S, i表示行, j表示列,# 表示 Si,j是黑色,.表示 Si,j是白色。
你需要选择 K个白色的点将它们涂成红色,并且要求这 K个红色的点必须连通,即每个红色点的上下左右至少相邻一个其他的红色点。
问你一共有多少种涂色方案。

Input

第一行输入一个整数 N(1≤N≤8),表示矩阵的大小。
接下来输入一个整数 K(1≤K≤8),表示需要将白色点涂成红色的个数。
接下来 N行,每行输入 N个整数 Si,1,Si,2,...,Si,N,表示矩阵。

Output

输出一个整数,表示涂色的方案数。

Sample Input Copy

3
5
#.#
...
..#

Sample Output Copy

5

HINT

样例二:
输入:
2
2
#.
.#
输出:
0


样例三:
输入:
8
8
........
........
........
........
........
........
........
........
输出:
64678





样例:sample.zip


数据范围


  1. N表示矩阵的大小,满足 1≤N≤8。
  2. K表示需要将白色点涂成红色的个数,满足 1≤K≤8。
  3. Si,j表示矩阵的元素,满足 Si,j∈{'#', '.'}。






Source/Category