Day 4
parent
60af8bb695
commit
394e3c175c
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,41 @@
|
|||
use std::fs;
|
||||
|
||||
use anyhow::Result;
|
||||
use itertools::Itertools;
|
||||
|
||||
|
||||
fn main() -> Result<()> {
|
||||
let input = fs::read_to_string("input/04.txt")?;
|
||||
|
||||
let lines: Vec<&str> = input
|
||||
.split("\n")
|
||||
.filter(|s| *s != "")
|
||||
.collect_vec();
|
||||
|
||||
|
||||
// ........fl........fu......
|
||||
// ......sl............su....
|
||||
//
|
||||
// ..fl.....fu...............
|
||||
// ...........sl....su.......
|
||||
//
|
||||
// ........fl........fu......
|
||||
// ..........sl....su........
|
||||
//
|
||||
// ................fl....fu..
|
||||
// ..sl......su..............
|
||||
|
||||
|
||||
let result = lines
|
||||
.into_iter()
|
||||
.map(|s| s.split(","))
|
||||
.map(|mut i| (i.next().unwrap(), i.next().unwrap()))
|
||||
.map(|(f, s)| (f.split("-"), s.split("-")))
|
||||
.map(|(mut f, mut s)| (f.next().unwrap().parse::<i32>().ok(), f.next().unwrap().parse::<i32>().ok(), s.next().unwrap().parse::<i32>().ok(), s.next().unwrap().parse::<i32>().ok()))
|
||||
.filter(|(fl, fu, sl, su)| (fl >= sl && fu <= su && fu >= sl) || (fl <= sl && fu >= su && fl <= su))
|
||||
.count();
|
||||
|
||||
println!("{result}");
|
||||
|
||||
return Ok(());
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
use std::fs;
|
||||
|
||||
use anyhow::Result;
|
||||
use itertools::Itertools;
|
||||
|
||||
|
||||
fn main() -> Result<()> {
|
||||
let input = fs::read_to_string("input/04.txt")?;
|
||||
|
||||
let lines: Vec<&str> = input
|
||||
.split("\n")
|
||||
.filter(|s| *s != "")
|
||||
.collect_vec();
|
||||
|
||||
|
||||
// ........fl........fu......
|
||||
// ......sl............su....
|
||||
//
|
||||
// ..fl.....fu...............
|
||||
// .......sl....su.........
|
||||
//
|
||||
// ........fl........fu......
|
||||
// ..........sl....su........
|
||||
//
|
||||
// ........fl....fu..........
|
||||
// ..sl......su..............
|
||||
|
||||
|
||||
let result = lines
|
||||
.into_iter()
|
||||
.map(|s| s.split(","))
|
||||
.map(|mut i| (i.next().unwrap(), i.next().unwrap()))
|
||||
.map(|(f, s)| (f.split("-"), s.split("-")))
|
||||
.map(|(mut f, mut s)| (f.next().unwrap().parse::<i32>().ok(), f.next().unwrap().parse::<i32>().ok(), s.next().unwrap().parse::<i32>().ok(), s.next().unwrap().parse::<i32>().ok()))
|
||||
.filter(|(fl, fu, sl, su)| (fl >= sl && fl <= su) || (fu >= sl && fu <= su ) || (sl >= fl && sl <= fu) || (su >= fl && su <= fu))
|
||||
.count();
|
||||
|
||||
println!("{result}");
|
||||
|
||||
return Ok(());
|
||||
}
|
Loading…
Reference in New Issue