diff options
author | June McEnroe <june@causal.agency> | 2021-12-12 13:22:37 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2021-12-12 13:22:37 -0500 |
commit | 0cdd96c5f32fe639f00d6d08f68def12b160feac (patch) | |
tree | 867c9ec9662425dab07589b3a91c405bd03c79c0 | |
parent | Solve day 12 part 2 (diff) | |
download | aoc-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.pl | 4 |
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]/; |