summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--22.21/main.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/22.21/main.py b/22.21/main.py
new file mode 100644
index 0000000..2ac7c15
--- /dev/null
+++ b/22.21/main.py
@@ -0,0 +1,24 @@
+from sys import stdin
+
+monkeys = {}
+
+for line in stdin:
+ out = line[:4]
+ parts = line[6:].split()
+ if len(parts) == 1: parts = int(parts[0])
+ monkeys[out] = parts
+
+def get(k):
+ m = monkeys[k]
+ if type(m) != int:
+ a = get(m[0])
+ b = get(m[2])
+ op = m[1]
+ if op == '+': m = a + b
+ if op == '-': m = a - b
+ if op == '*': m = a * b
+ if op == '/': m = a // b
+ monkeys[k] = m
+ return m
+
+print(get('root'))