#include<iostream>
#include<vector>
#include<cmath>
using namespace std;
template<class T>
class Queen
{
public:
void Input(void); //输入棋子个数
void Output(vector<T> &vec,int &i); //输出成功的棋盘状态数
void Trial(int &i); //进行布局函数
private:
T chess; //棋子个数存放在容器中
vector<T> vec; //存放每行合格棋子的位置
};//Queen
template<class T>
void Queen<T>::Input(void)
{
T a;
cin>>a; //输入棋子个数,即棋盘大小
chess=a;
}//Input
template<class T>
void Queen<T>::Output(vector<T> &vec,int &i)
{
if(vec.size()==chess)
{
cout<<endl;
vector<T>::iterator it=vec.begin();
while(it!=vec.end())
{
switch(*it)
{
case 1:
cout<<"O * * *"<<endl;break;
case 2:
cout<<"* O * *"<<endl;break;
case 3:
cout<<"* * O *"<<endl;break;
case 4:
cout<<"* * * O&
回溯法——四皇后问题
最新推荐文章于 2024-08-03 15:02:37 发布