summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2021-12-12 13:22:37 -0500
committerJune McEnroe <june@causal.agency>2021-12-12 13:22:37 -0500
commit0cdd96c5f32fe639f00d6d08f68def12b160feac (patch)
tree867c9ec9662425dab07589b3a91c405bd03c79c0
parentSolve day 12 part 2 (diff)
downloadaoc-0cdd96c5f32fe639f00d6d08f68def12b160feac.tar.gz
aoc-0cdd96c5f32fe639f00d6d08f68def12b160feac.zip
Pop instead of shift
BFS isn't needed. This uses less memory and time.
-rw-r--r--2021/day12.pl4
1 files changed, 2 insertions, 2 deletions
diff --git a/2021/day12.pl b/2021/day12.pl
index a47c9b0..90f3e54 100644
--- a/2021/day12.pl
+++ b/2021/day12.pl
@@ -11,7 +11,7 @@ while (<>) {
 my $paths = 0;
 my @queue = (['start']);
 while (@queue) {
-	my @path = @{shift @queue};
+	my @path = @{pop @queue};
 	my %visited = map { $_ => 1 } @path;
 	for (@{$edges{$path[0]}}) {
 		if ($_ eq 'end') {
@@ -28,7 +28,7 @@ print "$paths\n";
 $paths = 0;
 @queue = (['start']);
 while (@queue) {
-	my @path = @{shift @queue};
+	my @path = @{pop @queue};
 	my (%visited, $twice);
 	for (@path) {
 		$twice = 1 if $visited{$_}++ && /[a-z]/;