B. 棋盘问题

    传统题 1000ms 256MiB

棋盘问题

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

描述

描述在一个棋盘上面摆放棋子(棋盘上的某些位置可以放棋子,某些位置不能放棋子),棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于n*n的棋盘,摆放n个棋子的所有可行的摆放方案C。 每组数据的第一行是两个正整数n,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 当为-1 -1时表示输入结束。 随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘上可以放棋子的区域。 . 表示不能放棋子的区域(数据保证不出现多余的空白行或者空白列)。 输出对于每一组数据,给出一行输出,输出摆放的方案数目C (数据保证C<2^8)。

输入

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

输出

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

输入样例1

2
#.
.#

输出样例1

2

输入样例2

4
...#
..#.
.#..
#...

输出样例2

1

信奥B班测试(深搜与广搜入门)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2024-1-22 13:30
结束于
2024-1-22 16:30
持续时间
3 小时
主持人
参赛人数
22