Watch
1
0
Fork
You've already forked advent-of-code
0

More cleanup

This commit is contained in:
Jeremy Kaplan 2022-12-07 23:36:17 -08:00
commit 8372ec3aa8

View file

@ -92,12 +92,11 @@ impl Grid {
let mut scene: HashMap<RC, usize> = HashMap::new(); let mut scene: HashMap<RC, usize> = HashMap::new();
for (r1, c1) in itertools::iproduct!(0..self.rows, 0..self.cols) { for (r1, c1) in itertools::iproduct!(0..self.rows, 0..self.cols) {
let big = (r1, c1); let height = self.map[&(r1, c1)];
let h1 = self.map[&big];
let mut score = 1; let mut score = 1;
let blockage = |rc: &RC| -> bool { self.map[rc] >= h1 }; let blockage = |rc: &RC| -> bool { self.map[rc] >= height };
let up = (0..r1).rev().map(|r| (r, c1)); let up = (0..r1).rev().map(|r| (r, c1));
score *= take_until(up, blockage).len(); score *= take_until(up, blockage).len();
@ -111,7 +110,7 @@ impl Grid {
let right = ((c1 + 1)..self.cols).map(|c| (r1, c)); let right = ((c1 + 1)..self.cols).map(|c| (r1, c));
score *= take_until(right, blockage).len(); score *= take_until(right, blockage).len();
scene.insert(big, score); scene.insert((r1, c1), score);
} }
scene scene