]> www.fi.muni.cz Git - aoc.git/blobdiff - 2016/02.pl
Year 2016, days 1-10: so far pretty interesting
[aoc.git] / 2016 / 02.pl
diff --git a/2016/02.pl b/2016/02.pl
new file mode 100755 (executable)
index 0000000..a860be8
--- /dev/null
@@ -0,0 +1,30 @@
+#!/usr/bin/perl -w
+
+use strict;
+use v5.30;
+
+my @dir = ([0, -1], [1, 0], [0, 1], [-1, 0]);
+my $d = 0;
+
+my ($x, $y) = (0, 0);
+
+$_ = <>;
+my %seen;
+while (/([LR])(\d+)/g) {
+       if ($1 eq 'L') {
+               $d = $#dir if --$d < 0;
+       } else {
+               $d = 0 if ++$d > $#dir;
+       }
+       my $i = $2;
+       while ($i--) {
+               $x += $dir[$d]->[0];
+               $y += $dir[$d]->[1];
+               if ($seen{$x,$y}++) {
+                       say abs($x)+abs($y);
+                       exit 0;
+               }
+       }
+}
+
+