]> www.fi.muni.cz Git - aoc.git/blob - 2023/48.pl
Day 25: examining the input
[aoc.git] / 2023 / 48.pl
1 #!/usr/bin/perl -w
2
3 use v5.38;
4
5 my @stones = map { chomp; [ /-?\d+/g ] } <>;
6
7 my @eq;
8 for my $stone (0 .. 2) {
9         my @st = @{ $stones[$stone] };
10         for my $co (0 .. 2) {
11                 my $c = $st[$co+3];
12                 my $d = $st[$co];
13                 push @eq, "a$co * t$stone + b$co = $c*t$stone + $d";
14         }
15 }
16 my @vars;
17 push @vars, "a$_", "b$_", "t$_" for 0 .. 2;
18
19 # Maple:
20 say "res := solve({\n\t", join(",\n\t", @eq), "\n},";
21 say "\t[", join(", ", @vars), " ]";
22 say ");";
23 say "res[1][2]+res[1][5]+res[1][8];";