1106: 棋盘问题

Memory Limit:128 MB Time Limit:1.000 S Judge Style:Text Compare Creator:
Submit:1680 Solved:583

Description

在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。

不允许普通用户打印题目,请教师登录后使用。如有疑问请联系管理员!

Input

输入的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n

随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, . 表示空白区域(数据保证不出现多余的空白行或者空白列)。

只有#标记的地方才允许放置棋子

Output

输出摆放的方案数目C (数据保证C<2^31)。

Sample Input Copy

2 1
#.
.#

Sample Output Copy

2

HINT

测试用例2

输入:

4 4

...#
..#.
.#..

#...

输出:

1