|
|
@@ -1,7 +1,10 @@
|
|
|
+use std::env;
|
|
|
use std::fs::File;
|
|
|
use std::io::{BufReader,BufRead};
|
|
|
|
|
|
fn main(){
|
|
|
+ let args: Vec<String> = env::args().collect();
|
|
|
+
|
|
|
let filename = "input.txt";
|
|
|
|
|
|
let file = File::open(filename).unwrap();
|
|
|
@@ -11,6 +14,7 @@ fn main(){
|
|
|
let mut right_start: i32 = 0;
|
|
|
let mut right_end: i32 = 0;
|
|
|
let mut count: i32 = 0;
|
|
|
+ let mut count2: i32 = 0;
|
|
|
for (index,line) in reader.lines().enumerate(){
|
|
|
let line = line.unwrap();
|
|
|
let parts = line.split(",");
|
|
|
@@ -27,36 +31,55 @@ fn main(){
|
|
|
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;
|
|
|
+ if args[1] == "1"{
|
|
|
+ println!("line: {line}");
|
|
|
+ println!("{left_start}");
|
|
|
+ println!("{left_end}");
|
|
|
+ println!("{right_start}");
|
|
|
+ println!("{right_end}");
|
|
|
+ //part one stuff
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ //part2 stuff
|
|
|
+ if left_start <= right_start && left_end >= right_start{ //right start within left
|
|
|
+ count2 += 1;
|
|
|
+ println!("right start in left");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if right_start <= left_start && right_end >= left_start{ //left start within right
|
|
|
+ count2 += 1;
|
|
|
+ println!("left start in right");
|
|
|
+ continue;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- println!("Result part one: {count}");
|
|
|
+ if args[1] == "1"{
|
|
|
+ println!("Result part one: {count}");
|
|
|
+ }else{
|
|
|
+ println!("Result part two: {count2}");
|
|
|
+ }
|
|
|
}
|