day19 format

This commit is contained in:
2022-10-02 11:06:40 +02:00
parent 1686c8a28c
commit eeda13a0d6

View File

@@ -1,6 +1,6 @@
use std::collections::HashMap;
use super::day05::{IntCodeComputer, RAM}; use super::day05::{IntCodeComputer, RAM};
use itertools::Itertools; use itertools::Itertools;
use std::collections::HashMap;
pub fn run() { pub fn run() {
let program = super::day05::load_ram("input/day19.txt"); let program = super::day05::load_ram("input/day19.txt");
@@ -12,9 +12,7 @@ fn part1(program: &RAM, max_perimeter: i128) {
let result = (0..max_perimeter) let result = (0..max_perimeter)
.flat_map(|x| { .flat_map(|x| {
(0..max_perimeter) (0..max_perimeter)
.map(|y| { .map(|y| read_coordinate(program, x, y))
read_coordinate(program, x, y)
})
.collect_vec() .collect_vec()
}) })
.filter(|v| *v) .filter(|v| *v)
@@ -27,10 +25,8 @@ const SHIP_SIZE: i128 = 100;
fn part2(program: &RAM) { fn part2(program: &RAM) {
let mut map: HashMap<(i128, i128), bool> = HashMap::new(); let mut map: HashMap<(i128, i128), bool> = HashMap::new();
(0..SHIP_SIZE) (0..SHIP_SIZE).for_each(|x| {
.for_each(|x| { (0..SHIP_SIZE).for_each(|y| {
(0..SHIP_SIZE)
.for_each(|y| {
map.insert((x, y), read_coordinate(program, x, y)); map.insert((x, y), read_coordinate(program, x, y));
}) })
}); });
@@ -44,7 +40,10 @@ fn part2(program: &RAM) {
} }
} }
fn check_all_squares_starting_at(map: &HashMap<(i128, i128), bool>, perimeter: i128) -> Option<(i128, i128)> { fn check_all_squares_starting_at(
map: &HashMap<(i128, i128), bool>,
perimeter: i128,
) -> Option<(i128, i128)> {
for i in 0..=perimeter { for i in 0..=perimeter {
if let Some(point) = check_fits(map, i, perimeter) { if let Some(point) = check_fits(map, i, perimeter) {
return Some(point); return Some(point);