Day 18
This commit is contained in:
parent
b9da7b7cf6
commit
187e3c8b07
|
@ -32,10 +32,12 @@ mod day14;
|
||||||
mod day15;
|
mod day15;
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
mod day16;
|
mod day16;
|
||||||
|
#[allow(dead_code)]
|
||||||
mod day17;
|
mod day17;
|
||||||
|
mod day18;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
day17::day17();
|
day18::day18();
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn input(day: u8) -> String {
|
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> {
|
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)
|
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>
|
impl<T> Display for World<T>
|
||||||
|
|
Loading…
Reference in New Issue