24
-
let medicine_mol: Vec<String> = {
25
-
let mut mol = Vec::new();
26
-
input.last().unwrap().chars().for_each(|letter| {
27
-
if letter.is_lowercase() {
28
-
mol.push(format!("{}{}", mol.last().unwrap(), letter));
30
-
mol.push(format!("{}", letter))
35
-
println!("{:?}", medicine_mol);
24
+
let medicine_mol = input.last().unwrap();
let mol_len = medicine_mol.len();
let mut possibilities: HashSet<String> = HashSet::new();
41
-
for (k, element) in medicine_mol.iter().enumerate() {
42
-
let of_element = combinations.get(element);
45
-
Some(of_element) => of_element.iter().for_each(|new_element| {
31
+
let (a, b) = medicine_mol.split_at(i);
32
+
combinations.iter().for_each(|(from, to)| {
33
+
to.iter().for_each(|to| {
possibilities.insert(format!(
48
-
medicine_mol[0..k].join(""),
50
-
medicine_mol[k + 1..mol_len].join("")
56
-
println!("Part 1: {}", possibilities.len())
42
+
println!("Part 1: {}", possibilities.len() - 1)