adventofcode

git clone https://git.ce9e.org/adventofcode.git

commit
183954410f86a50b9f23affc7f3e3d79f8337802
parent
fada144f3d89c89b86a9b8df04e0053ebd22b1ff
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2021-12-23 15:50
use pop to avoid shifts

Diffstat

M 2021/23/part1.rs 4 ++--
M 2021/23/part2.rs 4 ++--

2 files changed, 4 insertions, 4 deletions


diff --git a/2021/23/part1.rs b/2021/23/part1.rs

@@ -218,7 +218,7 @@ fn main() {
  218   218     estimates.insert(initial, 0);
  219   219 
  220   220     while queue.len() > 0 {
  221    -1         let map = queue.remove(0);
   -1   221         let map = queue.pop().unwrap();
  222   222         for (m, e_new) in legal_steps(&map) {
  223   223             let e = e_new + energies.get(&map).unwrap();
  224   224             let ee = e + estimate(&m);
@@ -228,7 +228,7 @@ fn main() {
  228   228                 if m == target {
  229   229                     queue = queue.into_iter().filter(|map| *estimates.get(map).unwrap() < e).collect();
  230   230                 } else {
  231    -1                     match queue.binary_search_by_key(&ee, |map| *estimates.get(map).unwrap()) {
   -1   231                     match queue.binary_search_by_key(&ee, |map| -estimates.get(map).unwrap()) {
  232   232                         Ok(i) => queue.insert(i, m),
  233   233                         Err(i) => queue.insert(i, m),
  234   234                     }

diff --git a/2021/23/part2.rs b/2021/23/part2.rs

@@ -236,7 +236,7 @@ fn main() {
  236   236     estimates.insert(initial, 0);
  237   237 
  238   238     while queue.len() > 0 {
  239    -1         let map = queue.remove(0);
   -1   239         let map = queue.pop().unwrap();
  240   240         for (m, e_new) in legal_steps(&map) {
  241   241             let e = e_new + energies.get(&map).unwrap();
  242   242             let ee = e + estimate(&m);
@@ -246,7 +246,7 @@ fn main() {
  246   246                 if m == target {
  247   247                     queue = queue.into_iter().filter(|map| *estimates.get(map).unwrap() < e).collect();
  248   248                 } else {
  249    -1                     match queue.binary_search_by_key(&ee, |map| *estimates.get(map).unwrap()) {
   -1   249                     match queue.binary_search_by_key(&ee, |map| -estimates.get(map).unwrap()) {
  250   250                         Ok(i) => queue.insert(i, m),
  251   251                         Err(i) => queue.insert(i, m),
  252   252                     }