double test3() { int t0[] = {25600, 51200, 102400}; vector <int> p0(t0, t0+sizeof(t0)/sizeof(int)); string t1[] = {"NYY", "YNY", "YYY", "YNN", "YYN", "NNY", "NYN", "NNN"}; vector <string> p1(t1, t1+sizeof(t1)/sizeof(string)); SRMIntermissionPhase * obj = new SRMIntermissionPhase(); clock_t start = clock(); int my_answer = obj->countWays(p0, p1); clock_t end = clock(); delete obj; cout <<"Time: " <<(double)(end-start)/CLOCKS_PER_SEC <<" seconds" <<endl; int p2 = 867560805; cout <<"Desired answer: " <<endl; cout <<"\t" << p2 <<endl; cout <<"Your answer: " <<endl; cout <<"\t" << my_answer <<endl; if (p2 != my_answer) { cout <<"DOESN'T MATCH!!!!" <<endl <<endl; return -1; } else { cout <<"Match :-)" <<endl <<endl; return (double)(end-start)/CLOCKS_PER_SEC; } }
bool KawigiEdit_RunTest(int testNum, vector <int> p0, vector <string> p1, bool hasAnswer, int p2) { 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 << "}"; cout << "]" << endl; SRMIntermissionPhase *obj; int answer; obj = new SRMIntermissionPhase(); clock_t startTime = clock(); answer = obj->countWays(p0, p1); 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" << p2 << endl; } cout << "Your answer:" << endl; cout << "\t" << answer << endl; if (hasAnswer) { res = answer == p2; } 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; }