📄 nqueens.cpp
字号:
//
// n-皇后问题
// 蓝翔
// 2003.12.10
////////////////////////////////////////////////
#include "StdAfx.h"
NQUEENS::NQUEENS(int n)
{
this->m_n = n;
this->m_X = new int[n];
result = 0;
int tt[] = {1,3,5,2,4};
for(int i = 0;i < 4;i++)
{
this->m_X[i] = tt[i];
}
}
NQUEENS::~NQUEENS()
{
delete[] this->m_X;
}
void NQUEENS::handle()
{
result = this->place(5);
}
int NQUEENS::place(int k)
{
int i = 1;
while(i < k)
{
if(this->m_X[i] == this->m_X[k] || //在同一列有两个皇后
abs(this->m_X[i] - this->m_X[k]) == abs(i - k)) //在同一条斜线上
return 0;
i++;
}
return 1;
}
void NQUEENS::printResult()
{
if(result == 0)
cout<<"不能放置"<<endl;
else
cout<<"可以放置"<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -