]> www.fi.muni.cz Git - aoc.git/blob - 2022/19.pl
Day 25: examining the input
[aoc.git] / 2022 / 19.pl
1 #!/usr/bin/perl -w
2
3 use v5.36;
4 use strict;
5 use experimental 'multidimensional';
6
7 my $tsc = 1;
8 my $x = 1;
9 my $prev_gen = 0;
10 my $sum = 0;
11 while (<>) {
12         my ($op, $num) = /^(\w+)(?: (-?\d+))?/;
13         # say "$tsc $x  $op $num";
14         $tsc++;
15         my $gen = int(($tsc+20)/40);
16         if ($gen != $prev_gen) {
17                 $prev_gen = $gen;
18                 my $str = $x * ((40*$gen)-20);
19                 $sum += $str;
20                 # say "$tsc x $x = ", $str;
21         }
22         if ($op eq 'addx') {
23                 $x += $num;
24                 $tsc++;
25         }
26 }
27
28 say $sum;
29