]> www.fi.muni.cz Git - aoc.git/blob - 2022/20.pl
Day 10: off-by-ones
[aoc.git] / 2022 / 20.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 $prev_tsc = 1;
9 my $x = 1;
10 my $prev_gen = 0;
11 while (<>) {
12         my ($op, $num) = /^(\w+)(?: (-?\d+))?/;
13
14         $tsc++;
15         while ($prev_tsc <= $tsc) {
16                 # say "$prev_tsc ok" if $x +2 <= $prev_tsc;
17                 my $off = $prev_tsc % 40;
18                 print(($x <= $off && $x + 2 >= $off) ? '#' : '.');
19                 print "\n" if $prev_tsc % 40 == 0;
20                 $prev_tsc++;
21         }
22         if ($op eq 'addx') {
23                 $x += $num;
24                 $tsc++;
25         }
26 }
27 print "\n";
28