From fa26f694d8cf98272763952a698301ee9935c19e Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Thu, 26 Jun 2025 09:47:23 +0200 Subject: Added 2022, first few problems --- 2022/03/b.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 2022/03/b.rs (limited to '2022/03/b.rs') diff --git a/2022/03/b.rs b/2022/03/b.rs new file mode 100644 index 0000000..89da764 --- /dev/null +++ b/2022/03/b.rs @@ -0,0 +1,29 @@ +mod common; +use common::*; + +fn get_rep_val(e: &[String; 3]) -> i64 { + let mut seen = [[false; 256]; 2]; + for i in 0..2 { + for c in e[i].chars() { + seen[i][c as usize] = true; + } + } + for c in e[2].chars() { + if seen[0][c as usize] && seen[1][c as usize] { + return value(c); + } + } + panic!("Could not find repeated char"); +} + +fn main() { + let mut sum = 0; + let mut lines: [String; 3] = Default::default(); + while std::io::stdin().read_line(&mut lines[0]).unwrap() > 0 { + let _ = std::io::stdin().read_line(&mut lines[1]); + let _ = std::io::stdin().read_line(&mut lines[2]); + sum += get_rep_val(&lines); + for l in &mut lines { l.clear(); } + } + println!("{sum}"); +} -- cgit v1.3