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