summary refs log tree commit diff homepage
path: root/2023
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2023-12-12 11:33:26 -0500
committerJune McEnroe <june@causal.agency>2023-12-12 11:33:26 -0500
commitee45191a4f0fa570874b4f0e33f678ed1bd84918 (patch)
tree9f496c8da91b16be340dc54e368682277e122c15 /2023
parentSolve day 5 part 1 (diff)
downloadaoc-ee45191a4f0fa570874b4f0e33f678ed1bd84918.tar.gz
aoc-ee45191a4f0fa570874b4f0e33f678ed1bd84918.zip
Solve day 6 part 1
Diffstat (limited to '2023')
-rw-r--r--2023/day06.pl20
1 files changed, 20 insertions, 0 deletions
diff --git a/2023/day06.pl b/2023/day06.pl
new file mode 100644
index 0000000..92dd798
--- /dev/null
+++ b/2023/day06.pl
@@ -0,0 +1,20 @@
+use strict;
+use warnings;
+my (@times, @dists);
+while (<>) {
+	chomp;
+	@times = split(/ +/) if s/^Time: +//;
+	@dists = split(/ +/) if s/^Distance: +//;
+}
+my $ways = 1;
+for (my $race = 0; $race < scalar(@times); $race++) {
+	my $time = $times[$race];
+	my $dist = $dists[$race];
+	my $wins = 0;
+	for my $hold (1 .. $time - 1) {
+		my $travel = $hold * ($time - $hold);
+		$wins++ if $travel > $dist;
+	}
+	$ways *= $wins;
+}
+print $ways, "\n";