init
This commit is contained in:
7
d04/Cargo.lock
generated
Normal file
7
d04/Cargo.lock
generated
Normal file
@ -0,0 +1,7 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "d04"
|
||||
version = "0.1.0"
|
8
d04/Cargo.toml
Normal file
8
d04/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "d04"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
1000
d04/input.txt
Normal file
1000
d04/input.txt
Normal file
File diff suppressed because it is too large
Load Diff
19
d04/src/a1.rs
Normal file
19
d04/src/a1.rs
Normal file
@ -0,0 +1,19 @@
|
||||
|
||||
fn contains(v1 :&Vec<i32>, v2 :&Vec<i32>) -> bool {
|
||||
if v1.len() < 2 || v1.len() < 2 { return false; }
|
||||
return v1[0] <= v2[0] && v2[1] <= v1[1];
|
||||
}
|
||||
|
||||
pub fn run(inp :Vec<String>) {
|
||||
|
||||
let sum = inp.iter().map(|pair| {
|
||||
let sec :Vec<&str> = pair.split(',').collect();
|
||||
let first :Vec<i32> = sec[0].split('-').map(|p| p.parse::<i32>().unwrap()).collect();
|
||||
let second :Vec<i32> = sec[1].split('-').map(|p| p.parse::<i32>().unwrap()).collect();
|
||||
if contains(&first, &second) || contains(&second, &first) {1} else {0}
|
||||
|
||||
}).sum::<i32>();
|
||||
|
||||
println!("a1: {}", sum);
|
||||
|
||||
}
|
21
d04/src/a2.rs
Normal file
21
d04/src/a2.rs
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
fn contains(v1 :&Vec<i32>, v2 :&Vec<i32>) -> bool {
|
||||
if v1.len() < 2 || v1.len() < 2 { return false; }
|
||||
|
||||
return (v1[0]..=v1[1]).contains(&v2[0]) ||
|
||||
(v1[0]..=v1[1]).contains(&v2[1]);
|
||||
}
|
||||
|
||||
pub fn run(inp :Vec<String>) {
|
||||
|
||||
let sum = inp.iter().map(|pair| {
|
||||
let sec :Vec<&str> = pair.split(',').collect();
|
||||
let first :Vec<i32> = sec[0].split('-').map(|p| p.parse::<i32>().unwrap()).collect();
|
||||
let second :Vec<i32> = sec[1].split('-').map(|p| p.parse::<i32>().unwrap()).collect();
|
||||
if contains(&first, &second) || contains(&second, &first) {1} else {0}
|
||||
|
||||
}).sum::<i32>();
|
||||
|
||||
println!("a1: {}", sum);
|
||||
|
||||
}
|
41
d04/src/main.rs
Normal file
41
d04/src/main.rs
Normal file
@ -0,0 +1,41 @@
|
||||
use std::io::BufRead;
|
||||
|
||||
mod a1;
|
||||
mod a2;
|
||||
|
||||
fn read_file(path :&str) -> Vec<String> {
|
||||
|
||||
let file = std::fs::File::open(path);
|
||||
|
||||
return match file {
|
||||
|
||||
Ok(handle) => {
|
||||
|
||||
let reader = std::io::BufReader::new(handle);
|
||||
|
||||
let mut vec : Vec<String> = vec![];
|
||||
|
||||
reader.lines().for_each(|elem| {
|
||||
vec.push(elem.unwrap());
|
||||
});
|
||||
|
||||
vec
|
||||
|
||||
}
|
||||
|
||||
Err(_) => vec![]
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fn main() {
|
||||
|
||||
let inp :Vec<String> = read_file("input.txt");
|
||||
|
||||
a1::run(inp.clone());
|
||||
|
||||
a2::run(inp);
|
||||
|
||||
}
|
1
d04/target/.rustc_info.json
Normal file
1
d04/target/.rustc_info.json
Normal file
@ -0,0 +1 @@
|
||||
{"rustc_fingerprint":15594459422025777716,"outputs":{"15697416045686424142":{"success":true,"status":"","code":0,"stdout":"___.exe\nlib___.rlib\n___.dll\n___.dll\n___.lib\n___.dll\n","stderr":""},"4614504638168534921":{"success":true,"status":"","code":0,"stdout":"rustc 1.65.0 (897e37553 2022-11-02)\nbinary: rustc\ncommit-hash: 897e37553bba8b42751c67658967889d11ecd120\ncommit-date: 2022-11-02\nhost: x86_64-pc-windows-msvc\nrelease: 1.65.0\nLLVM version: 15.0.0\n","stderr":""},"10376369925670944939":{"success":true,"status":"","code":0,"stdout":"___.exe\nlib___.rlib\n___.dll\n___.dll\n___.lib\n___.dll\nC:\\Users\\tfuec\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"msvc\"\ntarget_family=\"windows\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"windows\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"pc\"\nwindows\n","stderr":""},"8623966523033996810":{"success":true,"status":"","code":0,"stdout":"___.exe\nlib___.rlib\n___.dll\n___.dll\n___.lib\n___.dll\n","stderr":""},"8204103499295538959":{"success":true,"status":"","code":0,"stdout":"___.exe\nlib___.rlib\n___.dll\n___.dll\n___.lib\n___.dll\nC:\\Users\\tfuec\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"msvc\"\ntarget_family=\"windows\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"windows\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"pc\"\nwindows\n","stderr":""}},"successes":{}}
|
3
d04/target/CACHEDIR.TAG
Normal file
3
d04/target/CACHEDIR.TAG
Normal file
@ -0,0 +1,3 @@
|
||||
Signature: 8a477f597d28d172789f06886806bc55
|
||||
# This file is a cache directory tag created by cargo.
|
||||
# For information about cache directory tags see https://bford.info/cachedir/
|
0
d04/target/debug/.cargo-lock
Normal file
0
d04/target/debug/.cargo-lock
Normal file
@ -0,0 +1 @@
|
||||
984f0b71ab833e18
|
@ -0,0 +1 @@
|
||||
{"rustc":2347157018072859861,"features":"[]","target":876604886230669304,"profile":9251013656241001069,"path":1684066648322511884,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\d04-31c1a78a3caf39e5\\dep-bin-d04"}}],"rustflags":[],"metadata":7797948686568424061,"config":2202906307356721367,"compile_kind":0}
|
BIN
d04/target/debug/.fingerprint/d04-31c1a78a3caf39e5/dep-bin-d04
Normal file
BIN
d04/target/debug/.fingerprint/d04-31c1a78a3caf39e5/dep-bin-d04
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
Binary file not shown.
@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
@ -0,0 +1 @@
|
||||
cdd78aba1aea4a35
|
@ -0,0 +1 @@
|
||||
{"rustc":2347157018072859861,"features":"[]","target":876604886230669304,"profile":1021633075455700787,"path":1684066648322511884,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\d04-5a5efc536cfed05a\\dep-test-bin-d04"}}],"rustflags":[],"metadata":7797948686568424061,"config":2202906307356721367,"compile_kind":0}
|
@ -0,0 +1 @@
|
||||
1005ac3eec46870b
|
@ -0,0 +1 @@
|
||||
{"rustc":2347157018072859861,"features":"[]","target":876604886230669304,"profile":7309141686862299243,"path":1684066648322511884,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\d04-a4a54c211b8e5deb\\dep-bin-d04"}}],"rustflags":[],"metadata":7797948686568424061,"config":2202906307356721367,"compile_kind":0}
|
BIN
d04/target/debug/.fingerprint/d04-a4a54c211b8e5deb/dep-bin-d04
Normal file
BIN
d04/target/debug/.fingerprint/d04-a4a54c211b8e5deb/dep-bin-d04
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
1
d04/target/debug/d04.d
Normal file
1
d04/target/debug/d04.d
Normal file
@ -0,0 +1 @@
|
||||
C:\personal\Programmierdaten\rust\advent_of_code\y2022\d04\target\debug\d04.exe: C:\personal\Programmierdaten\rust\advent_of_code\y2022\d04\src\a1.rs C:\personal\Programmierdaten\rust\advent_of_code\y2022\d04\src\a2.rs C:\personal\Programmierdaten\rust\advent_of_code\y2022\d04\src\main.rs
|
BIN
d04/target/debug/d04.exe
Normal file
BIN
d04/target/debug/d04.exe
Normal file
Binary file not shown.
BIN
d04/target/debug/d04.pdb
Normal file
BIN
d04/target/debug/d04.pdb
Normal file
Binary file not shown.
7
d04/target/debug/deps/d04-5a5efc536cfed05a.d
Normal file
7
d04/target/debug/deps/d04-5a5efc536cfed05a.d
Normal file
@ -0,0 +1,7 @@
|
||||
c:\personal\Programmierdaten\rust\advent_of_code\y2022\d04\target\debug\deps\d04-5a5efc536cfed05a.rmeta: src\main.rs src\a1.rs src\a2.rs
|
||||
|
||||
c:\personal\Programmierdaten\rust\advent_of_code\y2022\d04\target\debug\deps\d04-5a5efc536cfed05a.d: src\main.rs src\a1.rs src\a2.rs
|
||||
|
||||
src\main.rs:
|
||||
src\a1.rs:
|
||||
src\a2.rs:
|
7
d04/target/debug/deps/d04-a4a54c211b8e5deb.d
Normal file
7
d04/target/debug/deps/d04-a4a54c211b8e5deb.d
Normal file
@ -0,0 +1,7 @@
|
||||
c:\personal\Programmierdaten\rust\advent_of_code\y2022\d04\target\debug\deps\d04-a4a54c211b8e5deb.rmeta: src\main.rs src\a1.rs src\a2.rs
|
||||
|
||||
c:\personal\Programmierdaten\rust\advent_of_code\y2022\d04\target\debug\deps\d04-a4a54c211b8e5deb.d: src\main.rs src\a1.rs src\a2.rs
|
||||
|
||||
src\main.rs:
|
||||
src\a1.rs:
|
||||
src\a2.rs:
|
7
d04/target/debug/deps/d04.d
Normal file
7
d04/target/debug/deps/d04.d
Normal file
@ -0,0 +1,7 @@
|
||||
C:\personal\Programmierdaten\rust\advent_of_code\y2022\d04\target\debug\deps\d04.exe: src\main.rs src\a1.rs src\a2.rs
|
||||
|
||||
C:\personal\Programmierdaten\rust\advent_of_code\y2022\d04\target\debug\deps\d04.d: src\main.rs src\a1.rs src\a2.rs
|
||||
|
||||
src\main.rs:
|
||||
src\a1.rs:
|
||||
src\a2.rs:
|
BIN
d04/target/debug/deps/d04.exe
Normal file
BIN
d04/target/debug/deps/d04.exe
Normal file
Binary file not shown.
BIN
d04/target/debug/deps/d04.pdb
Normal file
BIN
d04/target/debug/deps/d04.pdb
Normal file
Binary file not shown.
0
d04/target/debug/deps/libd04-5a5efc536cfed05a.rmeta
Normal file
0
d04/target/debug/deps/libd04-5a5efc536cfed05a.rmeta
Normal file
0
d04/target/debug/deps/libd04-a4a54c211b8e5deb.rmeta
Normal file
0
d04/target/debug/deps/libd04-a4a54c211b8e5deb.rmeta
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user