最近,热心用户 @hjsxhst2022 在我的帖子“Dev-C++ 5.11编译器总是这样报错的原因是什么?”8,9 页与与我的私信中说明了这个现象:如果在评测机中返回 ±231,或是 232,3×231,230 这些与 231 有较大关联的数评测机不会判 RE,反而可以 AC。经过他的说明,我用 P1001 尝试了一下,的确如此。
一些破例 AC 的例子:
返回 229:

返回 231:

返回 −231:

返回 3×231:

看到评测机没有把这些严重错误判为 RE,我感觉不解:首先,评测机也就 return 个 1 就会 RE 了,这些数的返回却判不出;其次,这些数有有些超过了 231−1 的 int 范围,却也没判错,这让我十分奇怪。管理员们,你们能解决该问题吗?