fix: find the min distance

This commit is contained in:
snsd0805 2024-03-26 21:57:36 +08:00
parent aa3569e664
commit 7a31882480
Signed by: snsd0805
GPG Key ID: 569349933C77A854

View File

@ -366,7 +366,12 @@ def cornersHeuristic(state: Any, problem: CornersProblem):
corners = list(corners) corners = list(corners)
h = 0 h = 0
while len(corners) > 0: while len(corners) > 0:
min_distance, min_corner = min([ (util.manhattanDistance(position, corner), corner) for corner in corners]) distance_corner_pair = [ (util.manhattanDistance(position, corner), corner) for corner in corners]
min_distance, min_corner = 1e9, None
for d, c in distance_corner_pair:
if d < min_distance:
min_distance = d
min_corner = c
position = min_corner position = min_corner
h += min_distance h += min_distance
corners.remove(min_corner) corners.remove(min_corner)