Skip to content

Commit 62917e6

Browse files
Riolkukiritofeng
authored andcommitted
problem_settings: fix float regex
A missing `*` was unfortunately not caught during review. Added a regression test.
1 parent 549d173 commit 62917e6

File tree

6 files changed

+7
-3
lines changed

6 files changed

+7
-3
lines changed

sample_files/problem_setting/identical_checker_interactor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ long long readInt(long long lo, long long hi) {
106106

107107
long double readFloat(long double min, long double max,
108108
long double eps = 1e-9) {
109-
static regex_t re = regex_helpers::compile("^-?(0|[1-9][0-9])(\\.[0-9]+)?$");
109+
static regex_t re = regex_helpers::compile("^-?(0|[1-9][0-9]*)(\\.[0-9]+)?$");
110110
std::string token = readToken();
111111
assertWA(regex_helpers::match(re, token));
112112
long double parsedDouble;

sample_files/problem_setting/standard_checker_interactor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ long long readInt(long long lo, long long hi) {
149149

150150
long double readFloat(long double min, long double max,
151151
long double eps = 1e-9) {
152-
static regex_t re = regex_helpers::compile("^-?(0|[1-9][0-9])(\\.[0-9]+)?$");
152+
static regex_t re = regex_helpers::compile("^-?(0|[1-9][0-9]*)(\\.[0-9]+)?$");
153153
std::string token = readToken();
154154
assertWA(regex_helpers::match(re, token));
155155
long double parsedDouble;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
1
2+
1.76
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1.76

sample_files/problem_setting/validator.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ long long readInt(long long lo, long long hi) {
6464

6565
long double readFloat(long double min, long double max,
6666
long double eps = 1e-9) {
67-
static regex_t re = regex_helpers::compile("^-?(0|[1-9][0-9])(\\.[0-9]+)?$");
67+
static regex_t re = regex_helpers::compile("^-?(0|[1-9][0-9]*)(\\.[0-9]+)?$");
6868
std::string token = readToken();
6969
assert(regex_helpers::match(re, token));
7070
long double parsedDouble = stold(token); // May throw.

0 commit comments

Comments
 (0)