浏览代码

2020/15

master
Roderic Day 4 年前
父节点
当前提交
1b28f5ece2
共有 1 个文件被更改,包括 24 次插入0 次删除
  1. +24
    -0
      y2020/p15.py

+ 24
- 0
y2020/p15.py 查看文件

@@ -0,0 +1,24 @@
import collections
import itertools
import sys


text = sys.stdin.read()
inp = [int(n) for n in text.split(',')][::-1]
seen = collections.defaultdict(lambda: collections.deque(maxlen=2))
spoken = None
for turn in itertools.count(1):
if inp:
spoken = inp.pop()
elif len(seen[spoken]) < 2:
spoken = 0
else:
spoken = seen[spoken][-1] - seen[spoken][-2]

if turn == 2020:
print(spoken)
elif turn == 30_000_000:
print(spoken)
break

seen[spoken].append(turn)

正在加载...
取消
保存