]> www.fi.muni.cz Git - aoc2021.git/blobdiff - 41.pl
Day 21: interesting
[aoc2021.git] / 41.pl
diff --git a/41.pl b/41.pl
new file mode 100755 (executable)
index 0000000..ac2e4e0
--- /dev/null
+++ b/41.pl
@@ -0,0 +1,28 @@
+#!/usr/bin/perl -w
+
+use v5.16;
+
+my (@p) = @ARGV;
+my @s = (0, 0);
+my $d = 1;
+my $dc = 0;
+
+sub roll() {
+       $dc++;
+       my $rv = $d++;
+       $d = 1 if $d > 100;
+       return $rv;
+}
+
+while (1) {
+       for (0 .. 1) {
+               $p[$_] += roll()+roll()+roll();
+               $p[$_] -= 10 while $p[$_] > 10;
+               $s[$_] += $p[$_];
+               # say "$dc: $d, $_, $p[$_]";
+               if ($s[$_] >= 1000) {   
+                       say $s[1-$_]*$dc;
+                       exit 0;
+               }
+       }
+}