commit 78ff4db7334f6a4f092f5c1e2b3914881515dcd3
parent 2a99e78ef9061493fc5ef7a8161d7cd644f6edeb
Author: Samir Parikh <noreply@samirparikh.com>
Date: Wed, 8 Dec 2021 01:04:10 +0000
add day05-1.pl
Diffstat:
M | day05-1.pl | | | 58 | +++++++++++++++++++++++++++++++++++++++++++++------------- |
1 file changed, 45 insertions(+), 13 deletions(-)
diff --git a/day05-1.pl b/day05-1.pl
@@ -3,7 +3,7 @@
use strict;
use warnings;
use v5.22;
-use diagnostics;
+#use diagnostics;
if (@ARGV !=1) {
die "Usage: $0 [input-filename]";
@@ -14,18 +14,50 @@ open my $filehandle, '<', $input_filename or
die "Could not open input file $input_filename: $!";
chomp( my @input = ( <$filehandle> ) );
-
-say foreach (@input);
-
+my $wait;
+my @matrix = ();
foreach (@input) {
- my @captures = ( /(\d+),(\d+) -> (\d+),(\d+)/ );
- say join(":", @captures);
+ my ($x1, $y1, $x2, $y2) = ( /(\d+),(\d+) -> (\d+),(\d+)/ );
+ say "input: $x1, $y1 -> $x2, $y2";
+ if (($x2 <= $x1) && ($y2 <= $y1)) {
+ ($x2, $x1) = ($x1, $x2);
+ ($y2, $y1) = ($y1, $y2);
+ }
+ if (($x2 <= $x1) && ($y2 >= $y1)) {
+ ($x2, $x1) = ($x1, $x2);
+ ($y2, $y1) = ($y1, $y2);
+ }
+ say "input now: $x1, $y1 -> $x2, $y2";
+ if (($x2 >= $x1) && ($y2 >= $y1)) {
+ say "i got to A";
+ for (my $x = $x1; $x < $x2 + 1; $x++) {
+ for (my $y = $y1; $y < $y2 + 1; $y++) {
+ if (($x1 == $x2) || ($y1 == $y2)) {
+ $matrix[$y][$x]++;
+ say "\$matrix[$y][$x] = $matrix[$y][$x]";
+ $wait = <>;
+ }
+ }
+ }
+ }
+ elsif (($x2 >= $x1) && ($y2 <= $y1)) {
+ say "i got to B";
+ for (my $x = $x1; $x < $x2 + 1; $x++) {
+ for (my $y = $y2; $y < $y1 + 1; $y++) {
+ if (($x1 == $x2) || ($y1 == $y2)) {
+ $matrix[$y][$x]++;
+ say "\$matrix[$y][$x] = $matrix[$y][$x]";
+ $wait = <>;
+ }
+ }
+ }
+ }
}
-my @matrix;
-
-$matrix[0][9] = 1;
-$matrix[1][9] = 1;
-$matrix[2][9] = 1;
-$matrix[1][9]++;
-say $matrix[1][9];
+foreach my $y (0 .. 9) {
+ foreach my $x (0 .. 9) {
+ my $char = defined( $matrix[$y][$x] ) ? $matrix[$y][$x] : ".";
+ print $char;
+ }
+ print "\n";
+}