diff options
Diffstat (limited to '2025/06/a.py')
| -rw-r--r-- | 2025/06/a.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/2025/06/a.py b/2025/06/a.py index 5fdb11b..1d12e01 100644 --- a/2025/06/a.py +++ b/2025/06/a.py | |||
| @@ -1,6 +1,20 @@ | |||
| 1 | import fileinput | 1 | import fileinput |
| 2 | from functools import reduce | ||
| 3 | from operator import mul | ||
| 2 | 4 | ||
| 5 | a = [] | ||
| 6 | op = [] | ||
| 3 | with fileinput.input() as lines: | 7 | with fileinput.input() as lines: |
| 4 | for line in lines: | 8 | for line in lines: |
| 5 | ... | 9 | t = line[:-1].split(' ') |
| 10 | if t[0] == '+' or t[0] == '*': | ||
| 11 | op = [x for x in t if x != ''] | ||
| 12 | else: | ||
| 13 | a.append([int(x) for x in t if x != '']) | ||
| 6 | 14 | ||
| 15 | def sol(a, op, i): | ||
| 16 | return (sum(a[j][i] for j in range(len(a))) if op[i] == '+' | ||
| 17 | else reduce(mul, (a[j][i] for j in range(len(a))), 1)) | ||
| 18 | |||
| 19 | |||
| 20 | print(sum(sol(a, op, i) for i in range(len(a[0])))) | ||
