]> www.fi.muni.cz Git - aoc.git/blob - 2022/39.pl
Day 20: alternative solution wit list of pairs - slower but prettier
[aoc.git] / 2022 / 39.pl
1 #!/usr/bin/perl -w
2
3 use v5.36;
4 use strict;
5
6 my $i = 0;
7 my @list = map { chomp; [$i++, $_] } <>;
8
9 for my $idx (0 .. $#list) {
10         my $i = 0;
11         $i++ while $list[$i][0] != $idx;
12         my $item = splice @list, $i, 1;
13         my $dest = ($item->[1] + $i) % @list;
14         splice @list, $dest, 0, $item;
15 }
16
17 $i = 0;
18 $i++ while $list[$i][1] != 0;
19 my $sum;
20 for (1 .. 3) {
21         $i += 1000;
22         $i %= @list;
23         $sum += $list[$i][1];
24 }
25
26 say $sum;