Skip to content

Commit 5639a81

Browse files
committed
update
1 parent 596acb8 commit 5639a81

File tree

2 files changed

+29
-26
lines changed

2 files changed

+29
-26
lines changed

2021/day17/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ edition = "2021"
66
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
77

88
[dependencies]
9+
aoc = { path = "../../aoc" }
910
text_io = "0.1"
1011

1112
[[bin]]

2021/day17/day17.rs

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
//! [Day 17: Trick Shot](https://adventofcode.com/2021/day/17)
22
33
use std::cmp::Ordering;
4-
use std::env;
5-
use std::fs;
64
use text_io::scan;
75

86
/// main function
@@ -12,29 +10,33 @@ fn main() {
1210
let ord_min: i32;
1311
let ord_max: i32;
1412

15-
let args: Vec<String> = env::args().collect();
16-
17-
match args.len() {
18-
5 => {
19-
abs_min = args[1].parse::<i32>().unwrap();
20-
abs_max = args[2].parse::<i32>().unwrap();
21-
ord_min = args[3].parse::<i32>().unwrap();
22-
ord_max = args[4].parse::<i32>().unwrap();
23-
}
24-
2 => {
25-
let data = fs::read_to_string(&args[1]).unwrap();
26-
scan!(data.bytes() => "target area: x={}..{}, y={}..{}",
27-
abs_min, abs_max, ord_min, ord_max);
28-
}
29-
1 => {
30-
let data = fs::read_to_string("input.txt").unwrap();
31-
scan!(data.bytes() => "target area: x={}..{}, y={}..{}",
32-
abs_min, abs_max, ord_min, ord_max);
33-
}
34-
_ => {
35-
panic!("Invalid number of arguments");
36-
}
37-
}
13+
let data = aoc::load_input_data(17);
14+
scan!(data.bytes() => "target area: x={}..{}, y={}..{}",
15+
abs_min, abs_max, ord_min, ord_max);
16+
17+
// let args: Vec<String> = std::env::args().collect();
18+
19+
// match args.len() {
20+
// 5 => {
21+
// abs_min = args[1].parse::<i32>().unwrap();
22+
// abs_max = args[2].parse::<i32>().unwrap();
23+
// ord_min = args[3].parse::<i32>().unwrap();
24+
// ord_max = args[4].parse::<i32>().unwrap();
25+
// }
26+
// 2 => {
27+
// let data = fs::read_to_string(&args[1]).unwrap();
28+
// scan!(data.bytes() => "target area: x={}..{}, y={}..{}",
29+
// abs_min, abs_max, ord_min, ord_max);
30+
// }
31+
// 1 => {
32+
// let data = std::fs::read_to_string("input.txt").unwrap();
33+
// scan!(data.bytes() => "target area: x={}..{}, y={}..{}",
34+
// abs_min, abs_max, ord_min, ord_max);
35+
// }
36+
// _ => {
37+
// panic!("Invalid number of arguments");
38+
// }
39+
// }
3840
// println!("target area: x={}..{}, y={}..{}", abs_min, abs_max, ord_min, ord_max);
3941

4042
let parts = solve(abs_min, abs_max, ord_min, ord_max);
@@ -67,7 +69,7 @@ fn solve(abs_min: i32, abs_max: i32, ord_min: i32, ord_max: i32) -> (i32, i32) {
6769
match vx.cmp(&0) {
6870
Ordering::Greater => vx -= 1,
6971
Ordering::Less => vx += 1,
70-
_ => (),
72+
Ordering::Equal => (),
7173
}
7274

7375
vy -= 1; // the probe's y velocity decreases by 1.

0 commit comments

Comments
 (0)