Skip to content
Snippets Groups Projects
Verified Commit e3cf24c2 authored by Falk Rehse's avatar Falk Rehse
Browse files

Day 6

parent cd44603c
Branches
No related tags found
No related merge requests found
use crate::util::*;
pub fn solve_from_str(input: &str) -> u32 {
let mut lines = input.lines();
let times = regex_positive_numbers(lines.next().unwrap());
let distances = regex_positive_numbers(lines.next().unwrap());
let mut result = 1;
for i in 0..times.len() {
let mut options = 0;
for k in 0..times[i] {
let speed = k;
let distance = speed * (times[i] - k);
if distance > distances[i] {
options += 1;
}
}
result *= options;
}
result
}
use crate::util::*;
pub fn solve_from_str(input: &str) -> u64 {
let mut lines = input.lines();
let times = regex_positive_numbers_u64(&lines.next().unwrap().replace(" ", ""));
let distances = regex_positive_numbers_u64(&lines.next().unwrap().replace(" ", ""));
let mut result = 1;
for i in 0..times.len() {
let mut options = 0;
for k in 0..times[i] {
let speed = k;
let distance = speed * (times[i] - k);
if distance > distances[i] {
options += 1;
}
}
result *= options;
}
result
}
......@@ -8,6 +8,8 @@ mod day_4_1;
mod day_4_2;
mod day_5_1;
mod day_5_2;
mod day_6_1;
mod day_6_2;
mod util;
......@@ -16,7 +18,7 @@ use std::fs;
fn main() {
let input = fs::read_to_string("input").expect("Could not read input!");
let solution = day_5_2::solve_from_str(input.as_str());
let solution = day_6_2::solve_from_str(input.as_str());
println!("Solution: {}", solution);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment