blob: 89da7647377133e91083c93129274f5238fb2828 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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}");
}
|