关注
import sys
def get_score(n, nums):
dp = [[0] * 3 for _ in range(n)]
dp[0] = nums[0]
state = [1] * 3
for i in range(3):
if nums[0][i] == 0:
state[i] == -1
for i in range(1, n):
state1 = state[:]
for j in range(3):
# print(dp, state, nums[i])
cur_max = dp[i - 1][1]
cur_idx = 1
for k in [-1, 0, 1]:
last_idx = j + k
if last_idx < 0 or last_idx > 2:
continue
cur_sum = dp[i - 1][last_idx] + state[last_idx] * nums[i][j]
if cur_sum > cur_max:
cur_max = cur_sum
cur_idx = last_idx
dp[i][j] = cur_max
state1[j] = state[cur_idx]
if nums[i][j] == 0:
state1[j] *= -1
state = state1
return max(dp[-1])
if __name__ == "__main__":
n = int(sys.stdin.readline().strip())
nums = []
for _ in range(n):
nums.append(list(map(int, sys.stdin.readline().strip().split())))
print(get_score(n, nums)) 交卷了才调完,没测哈~
查看原帖
点赞 2
相关推荐
点赞 评论 收藏
分享
12-15 22:41
武汉大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
123767次浏览 2078人参与
# 实习简历求拷打 #
16532次浏览 194人参与
# 作业帮求职进展汇总 #
83969次浏览 554人参与
# 秋招被挂春招仍然能投的公司 #
7754次浏览 108人参与
# 实习要如何选择和准备? #
128543次浏览 1486人参与
# 外包能不能当跳板? #
54278次浏览 256人参与
# 诺瓦星云求职进展汇总 #
233509次浏览 1736人参与
# mt对你说过最有启发的一句话 #
38975次浏览 454人参与
# 公司情报交流地 #
126682次浏览 1227人参与
# 为了找工作你花了哪些钱? #
74883次浏览 361人参与
# 你觉得机械有必要实习吗 #
69828次浏览 485人参与
# 投格力的你,拿到offer了吗? #
153423次浏览 822人参与
# 一起聊美团 #
307638次浏览 1767人参与
# 什么是优秀的实习经历 #
9368次浏览 226人参与
# 摸鱼被leader发现了怎么办 #
103813次浏览 659人参与
# 京东开奖 #
632052次浏览 3180人参与
# 秋招特别不鸣谢 #
16589次浏览 186人参与
# 考研失败就一定是坏事吗? #
202590次浏览 1387人参与
# 选实习,你更看重哪方面? #
15277次浏览 230人参与
# 安克创新求职进展汇总 #
62474次浏览 541人参与


查看1道真题和解析