题目描述
用时
20min
思路
以前用C写过
好像是每输入一个判断是1还是2,然后如果是2的话还得看连续几个2
最后判断是0时结束
太麻烦了!
Python牛逼
首先把输入序列去掉空格和0
因为0对得分统计没用,只是标志着游戏结束
然后用正则找到所有的连续1和所有的连续2
分别存放在两个list中
最后分别统计就可以了
满分代码
import re
if __name__ == '__main__':
# 把输入序列去掉空格和0
jump_sequence = input().replace(' ', '').replace('0', '')
# 找到连续的1或单个的1
continuous_one_list = re.findall('[1]+', jump_sequence)
# 找到连续的2或单个的2
continuous_two_list = re.findall('[2]+', jump_sequence)
score = 0
for co in continuous_one_list:
score += len(co)
for ct in continuous_two_list:
for i in range(len(ct)):
score += (i+1)*2
print(score)