1512: 摆放棋子

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:63 Solved:30

Description

      在一个给定 n*n的棋盘上面摆放棋子,要将棋子摆放在 # 位置处,还要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定n*n的棋盘,摆放k个棋子的所有可行的摆放方案共有多少?

Input

   输入的第一行是两个正整数 n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目k。( n < 10 , k <= n)
   随后的n行描述了棋盘:每行有n个字符,其中 # 表示放棋子区域,大写字母C 表示空白区域(数据保证不出现多余的空白行或者空白列)。

Output

输出一个正整数,表示摆放的方案数目。此数据保证 <2^31。

Sample Input Copy

4 3
CCC#
#CC#
C#CC
#CCC

Sample Output Copy

3

HINT

# 表示放棋子区域,大写字母C 表示空白区域。
 n < 10 , k <= n 。
输出数据 <2^31。