backtrack.cpp

来自「8皇后」· C++ 代码 · 共 32 行

CPP
32
字号
#include "BackTrack.h"
using namespace std;

BackTrack::BackTrack(const Application& app)
{
	this->app=app;
}

bool BackTrack::tryToSolve(Position pos)
{
	bool success=false;
//	Application::Iterator itr=app.begin();
	Application::Iterator itr(pos);
	while(!success&&!(itr.atEnd()))
	{
/*		if (itr.atEnd())
			return false;*/
		pos=itr++;
		if(app.valid(pos))
		{
			app.record(pos);
			if(app.done())
				success = true;
			else 
			{
				success = tryToSolve(pos);
				if (!success) app.undo(pos);
			}
		}
	}
	return success;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?