⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nqueens.cpp

📁 place测试算法
💻 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 + -