コード例 #1
0
ファイル: magicCSP.cpp プロジェクト: esakellari/myProj
magicCSP::magicCSP(int n)
{
	string  variable;
	
	for(int i = 0; i < n ; i++)
	{
		for(int j = 0; j < n; j++)
		{	
	
			string rows = convertToString(i);
			string colu = convertToString(j);
			variable = rows + "_" + colu;
			variables.push_back(variable);
			
		}

	}

	 
	for(int i = 0; i < n*n; i++)
	{
		string num = convertToString(i+1);
		domain.push_back(num);
	}

	for (int i = 0; i < variables.size(); i++)
		addToDomain( variables[i] , domain);	
		
}
コード例 #2
0
ファイル: Square.cpp プロジェクト: vwhsiao/Sudoku
// "Timetravel" to before value was assigned and preserve the domain and storedDomain at that state
void Square::preserveDomains(int _value)
{
	std::vector<int> oldDomain = domain;
	std::vector<int> oldStoredDomain = storedDomain;
	if (domainsForPrevHost.size() > 0)
	{
		storedDomain = domainsForPrevHost[domainsForPrevHost.size() - 1];
		domainsForPrevHost.clear();
	}
	addToDomain(_value);
	domainsForPrevHost.push_back(domain);
	domainsForPrevHost.push_back(storedDomain);
	domain = oldDomain;
	storedDomain = oldStoredDomain;
}
コード例 #3
0
ファイル: Square.cpp プロジェクト: vwhsiao/Sudoku
// Add the value back to domain and set value to zero
void Square::resetValue()
{
	addToDomain(value);
	value = 0;
}