|
|
@@ -0,0 +1,62 @@
|
|
|
+use std::fs::File;
|
|
|
+use std::io::{BufReader,BufRead};
|
|
|
+
|
|
|
+fn main(){
|
|
|
+ let filename = "input.txt";
|
|
|
+
|
|
|
+ let file = File::open(filename).unwrap();
|
|
|
+ let reader = BufReader::new(file);
|
|
|
+ let mut left_start: i32 = 0;
|
|
|
+ let mut left_end: i32 = 0;
|
|
|
+ let mut right_start: i32 = 0;
|
|
|
+ let mut right_end: i32 = 0;
|
|
|
+ let mut count: i32 = 0;
|
|
|
+ for (index,line) in reader.lines().enumerate(){
|
|
|
+ let line = line.unwrap();
|
|
|
+ let parts = line.split(",");
|
|
|
+ let mut cnt: i32 = 0;
|
|
|
+ for p in parts{
|
|
|
+ cnt += 1;
|
|
|
+ let tmp = p.split("-");
|
|
|
+ let vec: Vec<&str> = tmp.collect();
|
|
|
+ if cnt == 1 {
|
|
|
+ left_start = vec[0].parse::<i32>().unwrap();
|
|
|
+ left_end = vec[1].parse::<i32>().unwrap();
|
|
|
+ }else{
|
|
|
+ right_start = vec[0].parse::<i32>().unwrap();
|
|
|
+ right_end = vec[1].parse::<i32>().unwrap();
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ println!("line: {line}");
|
|
|
+ println!("{left_start}");
|
|
|
+ println!("{left_end}");
|
|
|
+ println!("{right_start}");
|
|
|
+ println!("{right_end}");
|
|
|
+ if left_start > right_start{
|
|
|
+ if right_end >= left_end{
|
|
|
+ count += 1;
|
|
|
+ println!("+1");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }else if right_start > left_start{
|
|
|
+ if left_end >= right_end{
|
|
|
+ count += 1;
|
|
|
+ println!("+1");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }else if right_start == left_start {
|
|
|
+ if right_end >= left_end{
|
|
|
+ count += 1;
|
|
|
+ println!("+1");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if left_end >= right_end{
|
|
|
+ count += 1;
|
|
|
+ println!("+1");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ println!("Result part one: {count}");
|
|
|
+}
|