1
0
forked from danmax/aoc

organised 2024 year and added day4 in rust solution

This commit is contained in:
deadvey
2024-12-14 02:27:21 +00:00
parent 8f62314da3
commit 1eb0384e35
30 changed files with 268 additions and 0 deletions

1000
2024/1/day1/src/input.txt Normal file

File diff suppressed because it is too large Load Diff

47
2024/1/day1/src/main.rs Normal file
View File

@@ -0,0 +1,47 @@
use std::io::{stdin, Read};
use libc::{clock_gettime, timespec, CLOCK_PROCESS_CPUTIME_ID};
fn main() {
let mut data = String::new();
stdin().read_to_string(&mut data).unwrap();
let mut begin = timespec {
tv_sec: 0,
tv_nsec: 0,
};
unsafe {
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &mut begin);
};
let mut num1 = vec![];
let mut num2 = vec![];
for line in data.lines() {
let numbers: Vec<&str> = line.split(" ").collect();
let num11: i32 = numbers[0].parse().unwrap();
let num22: i32 = numbers[1].parse().unwrap();
num1.push(num11);
num2.push(num22);
}
num1.sort_unstable();
num2.sort_unstable();
let mut sum = 0;
for i in 0..num1.len() {
let num_sum = num1[i].abs_diff(num2[i]);
sum += num_sum;
}
let mut end = timespec {
tv_sec: 0,
tv_nsec: 0,
};
unsafe {
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &mut end);
};
println!("{sum:?}");
println!(
"time: {:.6}ms",
(end.tv_nsec - begin.tv_nsec) as f32 / 1000.0 / 1000.0
);
}