普及-⏱ 1000ms💾 256MB#P3188🏷️ 搜索深度优先搜索

题目描述

货栈的地面上用 # 标出了可插旗的格位(形状可能不规则),其余为空地。 要在标出的格位中插 $k$ 面旗,要求任意两面旗不同行也不同列。

统计可行的插旗方案数。多组数据,读到 -1 -1 结束。

输入格式

每组数据第一行两个正整数 $n, k$($n \le 8, k \le n$); 随后 $n$ 行,每行 $n$ 个字符:# 表示可插旗格位,. 表示空地。 最后一组之后是 -1 -1 表示结束。

输出格式

每组数据一行,一个整数:方案数。

数据范围

$$n \le 8,\ k \le n$$

样例输入 #1
2 1
#.
.#
4 4
...#
..#.
.#..
#...
-1 -1
样例输出 #1
2
1
样例输入 #2
3 2
###
###
###
-1 -1
样例输出 #2
18