如果您错的是测试点 12,可以尝试检查一下“从右往左搜”的时候更新
ans 的语句和“从左往右搜”是不一样的,因为从右往左与从左往右“横坐标”大小关系不一样:
“从左往右”:ans = max(ans, (xb-xa)*(yb-ya));
“从右往左”:ans = max(ans, (xa-xb)*(yb-ya));
这是由于从左往右时更新点比原始点横坐标大,从右往左时更新点比起始点坐标小。
注意到我尝试多使用双引号来规范“左”“右”的说法,是因为 @WKAHPM 的题解配图与程序的横竖坐标是反的,但是由于他的程序横竖坐标相当于整体旋转了 90° 所以正确性实质上是有保障的。