【题目描述】
在国际象棋棋盘上放置八个皇后,要求每两个皇后之间不能直接吃掉对方。
【输入】
(无)
【输出】
按给定顺序和格式输出所有八皇后问题的解(见样例)。
【输入样例】
(无)
【输出样例】
No. 1
1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0
No. 2
1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0
0 0 1 0 0 0 0 0
…以下省略
题解:
代码:
//1213:八皇后问题
#include<iostream>
using namespace std;
int a[9];//a[i]=j 记录第i行的皇后在j列
int b[9];//b[j]=1 表示第j列有皇后了,=0表示第j列没有皇后
int qipan[9][9];//记录棋盘中的数字,有皇后的格子数字为1,没有皇后的格子为0
int ysx[16];//表示从左下到右上的斜线,y=右&#