This commit is contained in:
2025-12-01 19:50:42 +00:00
commit 7e656f6e50
8 changed files with 9340 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/target

16
Cargo.lock generated Normal file
View File

@@ -0,0 +1,16 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "anyhow"
version = "1.0.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
[[package]]
name = "aoc"
version = "0.1.0"
dependencies = [
"anyhow",
]

11
Cargo.toml Normal file
View File

@@ -0,0 +1,11 @@
[package]
name = "aoc"
version = "0.1.0"
edition = "2024"
[[bin]]
name = "day1"
path = "src/day1/main.rs"
[dependencies]
anyhow = "1.0.100"

4631
out Normal file

File diff suppressed because it is too large Load Diff

4629
src/day1/day1-act.txt Normal file

File diff suppressed because it is too large Load Diff

10
src/day1/day1-test.txt Normal file
View File

@@ -0,0 +1,10 @@
L68
L30
R48
L5
R60
L55
L1
L99
R14
L82

39
src/day1/main.rs Normal file
View File

@@ -0,0 +1,39 @@
use anyhow::Result;
use std::{fs, num};
fn main() -> Result<()> {
println!("Hello, world!");
let (count, extra, _) = fs::read_to_string("src/day1/day1-act.txt")?
.split("\n")
.filter(|s| s.len() > 0)
.fold((0, 0, 50 as i32), |(sum, e, p), s| {
let modi = if s.chars().nth(0).unwrap() == 'R' {
1
} else {
-1
};
let v: i32 = s[1..].parse().unwrap();
let mut nv: i32 = p + (v % 100) * modi;
let mut extra = v / 100;
if nv < 0 {
nv = 100 + nv;
if p != 0 {
extra += 1;
}
} else if nv == 100 {
nv = nv - 100;
} else if nv > 100 {
nv = nv - 100;
if p != 0 {
extra += 1;
}
}
println!("{} - {}: {}", s, nv, extra);
(sum + (if nv == 0 { 1 } else { 0 }), e + extra, nv)
});
println!("{} and sec {}", count, count + extra);
Ok(())
}

3
src/main.rs Normal file
View File

@@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}