diff --git a/sample_files/problem_setting/identical_checker_interactor.cpp b/sample_files/problem_setting/identical_checker_interactor.cpp index b6f1146..75f1e47 100644 --- a/sample_files/problem_setting/identical_checker_interactor.cpp +++ b/sample_files/problem_setting/identical_checker_interactor.cpp @@ -106,7 +106,7 @@ long long readInt(long long lo, long long hi) { long double readFloat(long double min, long double max, long double eps = 1e-9) { - static regex_t re = regex_helpers::compile("^-?(0|[1-9][0-9])(\\.[0-9]+)?$"); + static regex_t re = regex_helpers::compile("^-?(0|[1-9][0-9]*)(\\.[0-9]+)?$"); std::string token = readToken(); assertWA(regex_helpers::match(re, token)); long double parsedDouble; diff --git a/sample_files/problem_setting/standard_checker_interactor.cpp b/sample_files/problem_setting/standard_checker_interactor.cpp index 4a20f36..f69b104 100644 --- a/sample_files/problem_setting/standard_checker_interactor.cpp +++ b/sample_files/problem_setting/standard_checker_interactor.cpp @@ -149,7 +149,7 @@ long long readInt(long long lo, long long hi) { long double readFloat(long double min, long double max, long double eps = 1e-9) { - static regex_t re = regex_helpers::compile("^-?(0|[1-9][0-9])(\\.[0-9]+)?$"); + static regex_t re = regex_helpers::compile("^-?(0|[1-9][0-9]*)(\\.[0-9]+)?$"); std::string token = readToken(); assertWA(regex_helpers::match(re, token)); long double parsedDouble; diff --git a/sample_files/problem_setting/test/testsuite/identical_checker_interactor/cases/basic2/code b/sample_files/problem_setting/test/testsuite/identical_checker_interactor/cases/basic2/code new file mode 100644 index 0000000..573541a --- /dev/null +++ b/sample_files/problem_setting/test/testsuite/identical_checker_interactor/cases/basic2/code @@ -0,0 +1 @@ +0 diff --git a/sample_files/problem_setting/test/testsuite/identical_checker_interactor/cases/basic2/input b/sample_files/problem_setting/test/testsuite/identical_checker_interactor/cases/basic2/input new file mode 100644 index 0000000..be99f0d --- /dev/null +++ b/sample_files/problem_setting/test/testsuite/identical_checker_interactor/cases/basic2/input @@ -0,0 +1,2 @@ +1 +1.76 diff --git a/sample_files/problem_setting/test/testsuite/identical_checker_interactor/cases/basic2/output b/sample_files/problem_setting/test/testsuite/identical_checker_interactor/cases/basic2/output new file mode 100644 index 0000000..9242d8e --- /dev/null +++ b/sample_files/problem_setting/test/testsuite/identical_checker_interactor/cases/basic2/output @@ -0,0 +1 @@ +1.76 diff --git a/sample_files/problem_setting/validator.cpp b/sample_files/problem_setting/validator.cpp index 75e6362..d11cf24 100644 --- a/sample_files/problem_setting/validator.cpp +++ b/sample_files/problem_setting/validator.cpp @@ -64,7 +64,7 @@ long long readInt(long long lo, long long hi) { long double readFloat(long double min, long double max, long double eps = 1e-9) { - static regex_t re = regex_helpers::compile("^-?(0|[1-9][0-9])(\\.[0-9]+)?$"); + static regex_t re = regex_helpers::compile("^-?(0|[1-9][0-9]*)(\\.[0-9]+)?$"); std::string token = readToken(); assert(regex_helpers::match(re, token)); long double parsedDouble = stold(token); // May throw.