コード例 #1
0
ファイル: main.cpp プロジェクト: tupieurods/SportProgramming
void Solve()
{
  if(n % 3 != 0)
  {
    answer = false;
    return;
  }
  answer = tryToSolve(d1, d2)
    || tryToSolve(d1, -d2)
    || tryToSolve(-d1, d2)
    || tryToSolve(-d1, -d2);
}
コード例 #2
0
ファイル: taskGraph.C プロジェクト: davidheryanto/sc14
void taskGraphArray::depositData(taskGraphSolver *data) {
  // Someone sent me data back.
  DepsData[DepsReceived++] = data;

  // Now that we got that data try and solve the problem
  tryToSolve();
}
コード例 #3
0
ファイル: taskGraph.C プロジェクト: davidheryanto/sc14
/*
 * Now define the taskGraphArray that actually handles doing all that work.
 */
taskGraphArray::taskGraphArray(
	CkVec<CkArrayIndex> deps,
	taskGraphSolver *data,
	CkCallback returnResults
) : Waiting() {
  // Set some state variables
  ReturnResults = returnResults;
  Self = data;
  isSolved = false;

  // Save everything I need to know about
  DepsCount = deps.length();
  DepsData = new taskGraphSolver*[DepsCount];
  DepsReceived = 0;

  // Ask everyone I depend on for their data
  CProxy_taskGraphArray neighbor(thisArrayID);
  for ( int i = 0 ; i < DepsCount ; i++ ) {
    neighbor(deps[i]).requestData(thisIndexMax);
  }

  // If we're waiting on nothing we're solved
  tryToSolve();
}