summaryrefslogtreecommitdiff
path: root/2016/9b.py
diff options
context:
space:
mode:
Diffstat (limited to '2016/9b.py')
-rwxr-xr-x2016/9b.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/2016/9b.py b/2016/9b.py
new file mode 100755
index 0000000..9df3005
--- /dev/null
+++ b/2016/9b.py
@@ -0,0 +1,21 @@
+#!/usr/bin/env python3
+
+import sys
+
+def decomplen(s):
+ total=0
+ i=0
+ while i<len(s):
+ if s[i]=="(":
+ closeidx=s.index(")",i+1)
+ marker=[int(x) for x in s[i+1:closeidx].split("x")]
+ repstr=s[closeidx+1:closeidx+1+marker[0]]
+ total+=marker[1]*decomplen(repstr)
+ i=closeidx+1+marker[0]
+ else:
+ total+=1
+ i+=1
+
+ return total
+
+print(decomplen(sys.stdin.readline()[:-1]))