mirror of
https://github.com/bertptrs/adventofcode.git
synced 2025-12-25 21:00:31 +01:00
Clippy suggestions
This commit is contained in:
@@ -139,11 +139,7 @@ pub fn part2(input: &mut dyn Read) -> String {
|
|||||||
let (a_wins, a_alive) = multiverse(a);
|
let (a_wins, a_alive) = multiverse(a);
|
||||||
let (b_wins, b_alive) = multiverse(b);
|
let (b_wins, b_alive) = multiverse(b);
|
||||||
|
|
||||||
let a_winner: u64 = a_wins[1..]
|
let a_winner: u64 = a_wins[1..].iter().zip(b_alive).map(|(&a, b)| a * b).sum();
|
||||||
.into_iter()
|
|
||||||
.zip(b_alive)
|
|
||||||
.map(|(&a, b)| a * b)
|
|
||||||
.sum();
|
|
||||||
let b_winner: u64 = b_wins.into_iter().zip(a_alive).map(|(a, b)| a * b).sum();
|
let b_winner: u64 = b_wins.into_iter().zip(a_alive).map(|(a, b)| a * b).sum();
|
||||||
|
|
||||||
a_winner.max(b_winner).to_string()
|
a_winner.max(b_winner).to_string()
|
||||||
|
|||||||
@@ -23,14 +23,17 @@ fn parse_range(input: &[u8]) -> IResult<&[u8], CRange> {
|
|||||||
})(input)
|
})(input)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_input<'a>(input: &[u8]) -> IResult<&[u8], Vec<(bool, CRange, CRange, CRange)>> {
|
fn parse_input(input: &[u8]) -> IResult<&[u8], Vec<(bool, [CRange; 3])>> {
|
||||||
let parse_state = alt((map(tag("on x="), |_| true), map(tag("off x="), |_| false)));
|
let parse_state = alt((map(tag("on x="), |_| true), map(tag("off x="), |_| false)));
|
||||||
let parse_line = tuple((
|
let parse_line = map(
|
||||||
|
tuple((
|
||||||
parse_state,
|
parse_state,
|
||||||
parse_range,
|
parse_range,
|
||||||
preceded(tag(",y="), parse_range),
|
preceded(tag(",y="), parse_range),
|
||||||
preceded(tag(",z="), parse_range),
|
preceded(tag(",z="), parse_range),
|
||||||
));
|
)),
|
||||||
|
|(b, x, y, z)| (b, [x, y, z]),
|
||||||
|
);
|
||||||
|
|
||||||
separated_list1(newline, parse_line)(input)
|
separated_list1(newline, parse_line)(input)
|
||||||
}
|
}
|
||||||
@@ -45,7 +48,7 @@ pub fn part1(input: &mut dyn Read) -> String {
|
|||||||
|
|
||||||
let ranges = read_input(input, parse_input);
|
let ranges = read_input(input, parse_input);
|
||||||
|
|
||||||
for (toggle, xr, yr, zr) in ranges {
|
for (toggle, [xr, yr, zr]) in ranges {
|
||||||
for z in zr {
|
for z in zr {
|
||||||
if !valid_range.contains(&z) {
|
if !valid_range.contains(&z) {
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user