From 2641a35d5473beb6889b299b54de294fbf782b1f Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Mon, 7 Jul 2025 11:47:29 +0200 Subject: Day 21 2022 --- 2022/21/a.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 2022/21/a.rs (limited to '2022/21/a.rs') diff --git a/2022/21/a.rs b/2022/21/a.rs new file mode 100644 index 0000000..297f97a --- /dev/null +++ b/2022/21/a.rs @@ -0,0 +1,19 @@ +mod common; +use common::*; + +pub fn calculate(name: &str, monkeys: &Vec) -> i64 { + let i = monkeys.iter().position(|m| m.name == name).unwrap(); + match &monkeys[i].kind { + MonkeyType::Num(n) => *n, + MonkeyType::Op(op) => { + let n1 = calculate(&op.m1, &monkeys); + let n2 = calculate(&op.m2, &monkeys); + apply_op(n1, n2, op) + } + } +} + +fn main() { + let monkeys = read_monkeys_from_stdin(); + println!("{}", calculate(&"root", &monkeys)); +} -- cgit v1.3