leetcodel,LeetCode是什么
后皇后难题是将两个皇后放在棋盘上,这样就不会有两个皇后互相攻击。
给定一个整数,返回当时皇后难题的所有不同解。
每个解决方案包含一个独特的董事会配置,然后皇后的位置,其中问和。两者分别表示皇后和空的空间。
举个例子,
四皇后难题有两种不同的解决方案:
[
[.问。//解决方案一
.问,
问.
.问],
[.问题,//解决方案2
问.
.问,问。]
Anwser 1:
类别解决方案{
公共:
布尔校验(int row,int* colArray) {
for(int I=0;我划船;我)
int diff=ABS(colArray[I]-colArray[row]);//在列中
if (diff==0 diff==row - i) { //int一行或一行
返回错误的
返回真实的
void placeQueens(int row,int n,int count,int* colArray,vector vector string ret2) {
if (row==n) {
数数;
向量字符串tmpRet
for(int I=0;我划船;i ){
字符串str(n,.);
str[colArray[I]]= Q ;
tmpret。push _ back(str);
ret 2。push _ back(tmpRet);
返回;
for(int col=0;col col) { //在第0行,测试第n列
colArray[row]=col;
if (check(row,colArray)){
皇后区(第一行,n,count,colArray,ret 2);//测试其他行
vector vector string solveNQueens(int n){
//开始在下面键入您的C/C解决方案
//不要写int main()函数
int * colArray=new int[n];
int count=0;
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。