5 use experimental 'multidimensional';
9 sub sgn($x) { $x > 0 ? 1 : $x < 0 ? -1 : 0 };
16 for my ($x, $y) (@list) {
21 while ($x0 != $x || $y0 != $y) {
25 $maxy = $y if !defined $maxy || $y > $maxy;
33 my ($sx, $sy) = (500, 0);
35 while ($sy <= $maxy) {
37 if (!$map[$sy+1][$sx]) {
39 } elsif (!$map[$sy+1][$sx-1]) {
42 } elsif (!$map[$sy+1][$sx+1]) {
50 say "stopped at $sx, $sy";