100 #P1602. *【递归】2n皇后问题

*【递归】2n皇后问题

【题意】

给定一个 n×nn \times n 的棋盘,棋盘中有一些位置不能放皇后。

现在要向棋盘中放入 nn 个黑皇后和 nn 个白皇后,使:

任意的两个黑皇后都不在同一行、同一列或同一条对角线上,

任意的两个白皇后都不在同一行、同一列或同一条对角线上。

问总共有多少种放法?

【输入格式】

第一行一个整数 n(1n8)n(1 \le n \le 8),表示棋盘的大小。

下来 nn 行,每行 nn 个整数(01)。若为1,表示对应的位置可以放皇后;若为0,表示对应的位置不可以放皇后。

【输出格式】

一行一个整数,表示总共有多少种放法。

【样例输入1】

4
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1

【样例输出1】

2

【样例输入2】

4
1 0 1 1
1 1 1 1
1 1 1 1
1 1 1 1

【样例输出2】

0