about summary refs log tree commit diff
path: root/day02.pl
blob: 3d83a7ab15cbd3c56095a08de595d3e67fcbbab5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/perl -w
use v5.16;

use File::Slurper 'read_text';

my @od = split ",", read_text "day02";
my $p2 = 19690720;

for my $n (0..99) {
    for my $v(0..99) {
        my @d = @od;
        @d[1, 2] = ($n, $v);

        for (my $ip = 0; $d[$ip] != 99; $ip += 4) {
            if ($d[$ip] == 1) {
                $d[$d[$ip+3]] = $d[$d[$ip+1]] + $d[$d[$ip+2]];
            } elsif ($d[$ip] == 2) {
                $d[$d[$ip+3]] = $d[$d[$ip+1]] * $d[$d[$ip+2]];
            }
        }
        
        say $d[0]  if $n == 12 && $v == 2;
        say(100*$n+$v)  if $d[0] == 19690720;
    }
}