{"trustable":true,"sections":[{"title":"","value":{"format":"HTML","content":"在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。"}},{"title":"Input","value":{"format":"HTML","content":"输入含有多组测试数据。\r\u003cbr\u003e每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n \u0026lt;\u003d 8 , k \u0026lt;\u003d n\r\u003cbr\u003e当为-1 -1时表示输入结束。\r\u003cbr\u003e随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, . 表示空白区域(数据保证不出现多余的空白行或者空白列)。\r\u003cbr\u003e"}},{"title":"Output","value":{"format":"HTML","content":"对于每一组数据,给出一行输出,输出摆放的方案数目C (数据保证C\u0026lt;2^31)。"}},{"title":"Sample","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e2 1\r\n#.\r\n.#\r\n4 4\r\n...#\r\n..#.\r\n.#..\r\n#...\r\n-1 -1\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e2\r\n1\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n"}}]}