From: Jan "Yenya" Kasprzak Date: Sun, 7 Dec 2025 05:18:05 +0000 (+0100) Subject: Day 07: beams X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=656976ee2da9d29fbb1cd7c2c3d015369acf2459;p=aoc.git Day 07: beams --- diff --git a/2025/13.pl b/2025/13.pl new file mode 100755 index 0000000..615836c --- /dev/null +++ b/2025/13.pl @@ -0,0 +1,23 @@ +#!/usr/bin/perl -w + +use v5.42; + +my %beams; +($_ = <>) =~ /S/g; +$beams{pos()-1}++; + +my $splits; +while (<>) { + my %newb; + for my $b (keys %beams) { + if (substr($_, $b, 1) eq '^') { + $newb{$b-1}++ if $b > 0; + $newb{$b+1}++ if $b < length; + $splits++; + } else { + $newb{$b}++; + } + } + %beams = %newb; +} +say $splits; diff --git a/2025/14.pl b/2025/14.pl new file mode 100755 index 0000000..7648cb4 --- /dev/null +++ b/2025/14.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl -w + +use v5.42; +use List::Util qw(sum); + +my %beams; +($_ = <>) =~ /S/g; +$beams{pos()-1}++; + +while (<>) { + my %newb; + for my $b (keys %beams) { + if (substr($_, $b, 1) eq '^') { + $newb{$b-1} += $beams{$b} if $b > 0; + $newb{$b+1} += $beams{$b} if $b < length; + } else { + $newb{$b} += $beams{$b}; + } + } + %beams = %newb; +} +say sum values %beams;