aoc

My solutions for the Advent of Code
git clone https://git.tronto.net/aoc
Download | Log | Files | Refs | README

a.rs (618B)


      1 mod common;
      2 use common::*;
      3 
      4 fn get_rep_val(rucksack: &[u8]) -> i64 {
      5     let mut seen = [false; 256];
      6     let mid = rucksack.len()/2;
      7     for i in 0..mid {
      8         seen[rucksack[i] as usize] = true;
      9     }
     10     for i in mid..rucksack.len() {
     11         if seen[rucksack[i] as usize] {
     12             return value(rucksack[i] as char);
     13         }
     14     }
     15     panic!("Could not find repeated char");
     16 }
     17 
     18 fn main() {
     19     let mut sum = 0;
     20     let mut line = String::new();
     21     while std::io::stdin().read_line(&mut line).unwrap() > 0 {
     22         sum += get_rep_val(line.as_bytes());
     23         line.clear();
     24     }
     25     println!("{sum}");
     26 }