| 1234567891011121314151617181920212223 |
- #!/usr/bin/env python3
- import sys
- import re
- patterns = {}
- for line in sorted(sys.stdin):
- minute, cmd, arg = re.search(r':(\d+)] (\w+) #?(\w+)', line).groups()
- if cmd == 'Guard':
- guard = int(arg)
- elif cmd == 'falls':
- start = int(minute)
- else:
- pat = patterns.setdefault(guard, [0] * 60)
- for i in range(start, int(minute)):
- pat[i] += 1
- def strategy(i, key):
- guard, pat = max(patterns.items(), key=lambda x: key(x[1]))
- bestmin = max(enumerate(pat), key=lambda x: x[1])[0]
- print('strategy %d:' % i, guard, '*', bestmin, '=', guard * bestmin)
- strategy(1, sum)
- strategy(2, max)
|