bool KawigiEdit_RunTest(int testNum, vector <int> p0, vector <int> p1, int p2, bool hasAnswer, int p3) { cout << "Test " << testNum << ": [" << "{"; for (int i = 0; int(p0.size()) > i; ++i) { if (i > 0) { cout << ","; } cout << p0[i]; } cout << "}" << "," << "{"; for (int i = 0; int(p1.size()) > i; ++i) { if (i > 0) { cout << ","; } cout << p1[i]; } cout << "}" << "," << p2; cout << "]" << endl; BridgeBuildingDiv2 *obj; int answer; obj = new BridgeBuildingDiv2(); clock_t startTime = clock(); answer = obj->minDiameter(p0, p1, p2); clock_t endTime = clock(); delete obj; bool res; res = true; cout << "Time: " << double(endTime - startTime) / CLOCKS_PER_SEC << " seconds" << endl; if (hasAnswer) { cout << "Desired answer:" << endl; cout << "\t" << p3 << endl; } cout << "Your answer:" << endl; cout << "\t" << answer << endl; if (hasAnswer) { res = answer == p3; } if (!res) { cout << "DOESN'T MATCH!!!!" << endl; } else if (double(endTime - startTime) / CLOCKS_PER_SEC >= 2) { cout << "FAIL the timeout" << endl; res = false; } else if (hasAnswer) { cout << "Match :-)" << endl; } else { cout << "OK, but is it right?" << endl; } cout << "" << endl; return res; }
int main(int argc, char const *argv[]) { try { std::ifstream ifs(argv[1]); vector<int> a; tc::read(ifs, a); tc::next(ifs); vector<int> b; tc::read(ifs, b); tc::next(ifs); int K; tc::read(ifs, K); ifs.close(); std::ofstream ofs(argv[2]); BridgeBuildingDiv2 solver; tc::show(ofs, solver.minDiameter(a, b, K)); ofs.close(); } catch (std::exception &e) { std::cerr << e.what() << std::endl; } return 0; }