10 push @gxys, [ $x, $y ];
15 my %x_gxy = map { $_->[0] => 1 } @gxys;
16 my %y_gxy = map { $_->[1] => 1 } @gxys;
19 for my $i (0 .. $#gxys-1) {
20 for my $j ($i .. $#gxys) {
21 my ($x1, $y1) = $gxys[$i]->@*;
22 my ($x2, $y2) = $gxys[$j]->@*;
24 ($x1, $x2) = ($x2, $x1) if $x1 > $x2;
26 $steps += $x_gxy{$_} ? 1 : 1_000_000;
29 ($y1, $y2) = ($y2, $y1) if $y1 > $y2;
31 $steps += $y_gxy{$_} ? 1 : 1_000_000;