]> www.fi.muni.cz Git - aoc2021.git/commitdiff
Day 17: part 1 in bc(1) w/o programming, part 2 pretty simple
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Fri, 17 Dec 2021 05:51:25 +0000 (06:51 +0100)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Fri, 17 Dec 2021 05:51:25 +0000 (06:51 +0100)
34.pl [new file with mode: 0755]

diff --git a/34.pl b/34.pl
new file mode 100755 (executable)
index 0000000..640916c
--- /dev/null
+++ b/34.pl
@@ -0,0 +1,26 @@
+#!/usr/bin/perl -w
+
+use v5.16;
+
+my ($xmin, $xmax) = (281, 311); my ($ymin, $ymax) = (-74, -54);
+# my ($xmin, $xmax) = (20, 30); my ($ymin, $ymax) = (-10, -5);
+
+my $count;
+for my $dx (1 .. $xmax) {
+for my $dy ($ymin..-$ymin) {
+       my ($dx0, $dy0) = ($dx, $dy);
+       my ($x, $y) = (0, 0);
+       while ($x <= $xmax && $y >= $ymin) {
+               if ($x >= $xmin && $x <= $xmax && $y >= $ymin && $y <= $ymax) {
+                       $count++;
+                       # say $dx,',', $dy;
+                       last;
+               }
+               $x += $dx0; $y += $dy0;
+               if ($dx0 > 0) { $dx0-- };
+               $dy0--;
+       }
+} }
+
+say $count;
+