Day 18
This commit is contained in:
parent
b9da7b7cf6
commit
187e3c8b07
|
@ -32,10 +32,12 @@ mod day14;
|
|||
mod day15;
|
||||
#[allow(dead_code)]
|
||||
mod day16;
|
||||
#[allow(dead_code)]
|
||||
mod day17;
|
||||
mod day18;
|
||||
|
||||
fn main() {
|
||||
day17::day17();
|
||||
day18::day18();
|
||||
}
|
||||
|
||||
pub fn input(day: u8) -> String {
|
||||
|
|
|
@ -154,9 +154,20 @@ where
|
|||
}
|
||||
|
||||
pub fn map<U: Copy, F: Fn(&T) -> U>(&self, f: F) -> World<U> {
|
||||
let v = self.map.iter().map(|row| row.iter().map(|e| f(e)).collect()).collect();
|
||||
let v = self
|
||||
.map
|
||||
.iter()
|
||||
.map(|row| row.iter().map(|e| f(e)).collect())
|
||||
.collect();
|
||||
World::<U>::from_2d_vec(v)
|
||||
}
|
||||
|
||||
pub fn adjacent_locations(&self, x: usize, y: usize) -> Vec<(usize, usize)> {
|
||||
Direction::all_variants()
|
||||
.into_iter()
|
||||
.filter_map(|d| self.travel(x, y, d))
|
||||
.collect()
|
||||
}
|
||||
}
|
||||
|
||||
impl<T> Display for World<T>
|
||||
|
|
Loading…
Reference in New Issue