From 467387618bfab1cb0d599c9fcdafd6e3bd3a69c4 Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 3 Dec 2017 13:08:09 -0500 Subject: [PATCH] day3b --- day3/day3b.pm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 day3/day3b.pm diff --git a/day3/day3b.pm b/day3/day3b.pm new file mode 100644 index 0000000..515305b --- /dev/null +++ b/day3/day3b.pm @@ -0,0 +1,28 @@ +use 5.20.0; +use experimental 'postderef'; + +use Array::Tour::Spiral; +use List::AllUtils qw/ sum /; + +my $num = shift; + +my $spiral = Array::Tour::Spiral->new( dimensions => $num ); + +my $grid = []; +my $first = 1; + +while ( my ($x,$y) = $spiral->next->@* ) { + if( $first) { + $grid->[$x][$y] = 1; + $first = 0; + } + else { + $grid->[$x][$y] = sum map { + my $i = $_; + map { $grid->[$x+$i][$y+$_] } -1..1 + } -1..1 + } + + warn $grid->[$x][$y]; + exit say $_ for grep { $_ > $num } $grid->[$x][$y]; +}