コード例 #1
0
bool KawigiEdit_RunTest(int testNum, string p0, bool hasAnswer, int p1) {
	cout << "Test " << testNum << ": [" << "\"" << p0 << "\"";
	cout << "]" << endl;
	StripePainter *obj;
	int answer;
	obj = new StripePainter();
	clock_t startTime = clock();
	answer = obj->minStrokes(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 test32() {
    string stripes = "ABABABABCDEFGHIJKJHIGFEDABABABABCABABCAAAAABCABAAA";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 26;
    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;
    }
}
コード例 #3
0
int test29() {
    string stripes = "EACBDEBCEDFAFACFABAFEACDFCBEDECFEFADAEFE";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 24;
    if(result == expected) {
        cout << "Test Case 29: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 29: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
コード例 #4
0
int test27() {
    string stripes = "GDBBKCKABKHJDDJEJHKAIGEKCKGAC";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 18;
    if(result == expected) {
        cout << "Test Case 27: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 27: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
コード例 #5
0
int test26() {
    string stripes = "HAEBDFDFEEFEFBHIGGGBACFEIAFHFABAECBIFFDEAEFHACHCDF";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 30;
    if(result == expected) {
        cout << "Test Case 26: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 26: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
コード例 #6
0
int test25() {
    string stripes = "EBEDBDEAAECDBEAECDBCCDCBCCECACAEDDAAEBCDCCDAAAAEDE";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 24;
    if(result == expected) {
        cout << "Test Case 25: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 25: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
コード例 #7
0
int test23() {
    string stripes = "ADAEBCBCACBDEAACAEAEABCDABAABCEEBDDCDDDCBEBABDDDBC";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 24;
    if(result == expected) {
        cout << "Test Case 23: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 23: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
コード例 #8
0
int test13() {
    string stripes = "ABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQPONMLKJIHGFEDCBA";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 25;
    if(result == expected) {
        cout << "Test Case 13: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 13: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
コード例 #9
0
int test21() {
    string stripes = "CIBIGBFBCGAEHFHGCFEEGGIGFIBIIAGFHEGBAHIIFIHDGEGIDF";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 30;
    if(result == expected) {
        cout << "Test Case 21: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 21: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
コード例 #10
0
int test20() {
    string stripes = "DACHIGFHECADGCDFEIEHIDFCEGIIGFCDGDCFIIGCIIDCGFIGHG";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 30;
    if(result == expected) {
        cout << "Test Case 20: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 20: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
コード例 #11
0
int test19() {
    string stripes = "DEJJEDAIJHBFCEGHFEADCJAIIGKBF";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 21;
    if(result == expected) {
        cout << "Test Case 19: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 19: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
コード例 #12
0
int test18() {
    string stripes = "DBBFKDHEIGKJHGBJFEDCEHJHIGBEB";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 21;
    if(result == expected) {
        cout << "Test Case 18: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 18: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
コード例 #13
0
int test17() {
    string stripes = "CGBBCDCGEAGCEEIAABHFCIKEHFBHG";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 19;
    if(result == expected) {
        cout << "Test Case 17: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 17: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
コード例 #14
0
int test14() {
    string stripes = "JGXJFGDKGTCVGHJVGHJGDJGHVGHJFDGHJGFGHJ";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 26;
    if(result == expected) {
        cout << "Test Case 14: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 14: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
コード例 #15
0
int test33() {
    string stripes = "BECBBDDEEBABDCADEAAEABCACBDBEECDEDEACACCBEDABEBACC";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 26;
    if(result == expected) {
        cout << "Test Case 33: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 33: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
コード例 #16
0
int test3() {
    string stripes = "AABBCCDDCCBBAABBCCDD";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 7;
    if(result == expected) {
        cout << "Test Case 3: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 3: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}
コード例 #17
0
int test22() {
    string stripes = "CAACEBBABCBEBBCACAAEEBBAAEBAAEDCEEEBECAAEAECBCCDEB";
    StripePainter* pObj = new StripePainter();
    clock_t start = clock();
    int result = pObj->minStrokes(stripes);
    clock_t end = clock();
    delete pObj;
    int expected = 23;
    if(result == expected) {
        cout << "Test Case 22: Passed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 0;
    } else {
        cout << "Test Case 22: Failed! Time: " << static_cast<double>(end-start)/CLOCKS_PER_SEC << " seconds" << endl;
        return 1;
    }
}