bool ContestManager::update_idle() { bool retval = false; ContestResult dummy_result; switch (contest) { case OLC_Sprint: retval = run_contest(olc_sprint, result, solution); break; case OLC_FAI: retval = run_contest(olc_fai, result, solution); break; case OLC_Classic: retval = run_contest(olc_classic, result, solution); break; case OLC_League: retval = run_contest(olc_classic, dummy_result, olc_league.get_solution_classic()); retval |= run_contest(olc_league, result, solution); break; case OLC_Plus: retval = run_contest(olc_classic, olc_plus.get_result_classic(), olc_plus.get_solution_classic()); retval |= run_contest(olc_fai, olc_plus.get_result_fai(), olc_plus.get_solution_fai()); if (retval) retval |= run_contest(olc_plus, result, solution); break; }; return retval; }
void main(void) { int counter; double distance = 0.0; srand(3); for (counter = 0; counter < 10; counter++) { process(0, 0, 0); run_contest(); printf("Contest (%d): ", counter); distance += *((double*)process(99, 0, 0)); printf(". Done.\n"); } printf("Result: Distance = %d(m)\n", (int)(distance / 100000.0 + 0.5)); return; }