bool KawigiEdit_RunTest(int testNum, string p0, bool hasAnswer, int p1) {
	cout << "Test " << testNum << ": [" << "\"" << p0 << "\"";
	cout << "]" << endl;
	ColorfulCupcakesDivTwo *obj;
	int answer;
	obj = new ColorfulCupcakesDivTwo();
	clock_t startTime = clock();
	answer = obj->countArrangements(p0);
	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" << p1 << endl;
	}
	cout << "Your answer:" << endl;
	cout << "\t" << answer << endl;
	if (hasAnswer) {
		res = answer == p1;
	}
	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;
}
示例#2
0
int test56() {
    string cupcakes = "ACBACBABBCABCBABABACACABCBACBACBABCAC";
    ColorfulCupcakesDivTwo* pObj = new ColorfulCupcakesDivTwo();
    clock_t start = clock();
    int result = pObj->countArrangements(cupcakes);
    clock_t end = clock();
    delete pObj;
    int expected = 746183318;
    if(result == expected) {
        cout << "Test Case 56: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 56: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
示例#3
0
int test47() {
    string cupcakes = "AAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBACCCCCCCCCCCCCCCCB";
    ColorfulCupcakesDivTwo* pObj = new ColorfulCupcakesDivTwo();
    clock_t start = clock();
    int result = pObj->countArrangements(cupcakes);
    clock_t end = clock();
    delete pObj;
    int expected = 139077442;
    if(result == expected) {
        cout << "Test Case 47: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 47: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
示例#4
0
int test32() {
    string cupcakes = "BAACBAAACBABBBCCAABBCAABAACCCAAAABAAAAACCBBBCAABCA";
    ColorfulCupcakesDivTwo* pObj = new ColorfulCupcakesDivTwo();
    clock_t start = clock();
    int result = pObj->countArrangements(cupcakes);
    clock_t end = clock();
    delete pObj;
    int expected = 612092993;
    if(result == expected) {
        cout << "Test Case 32: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 32: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}