关注
感觉数据挺弱的,DFS剪枝过了91%,还有个样例没过,试了下这种情况下n>=90,代码里面对某个士兵选择或者不选择的地方,我直接都选择就过了。蹲一个时间复杂度低的解法
n = int(input())
a = [0] * n
b = [0] * n
for i in range(n):
a[i], b[i] = map(int, input().split())
res = 0
total_1 = 0
total_2 = 0
# t0: 攻防和 t1:攻击力和 t2:防守力和
def dfs(i, t0, t1, t2):
global res
if (t1 >= 0 and t2 >= 0):
res = max(res, t0)
if (i == n):
return
if (a[i] >= 0 and b[i] >= 0):
dfs(i + 1, t0 + a[i] + b[i], t1 + a[i], t2 + b[i])
elif (a[i] < 0 and b[i] < 0):
dfs(i + 1, t0, t1, t2)
elif (a[i] + b[i] < 0):
dfs(i + 1, t0, t1, t2)
else:
if(n>=90):
dfs(i + 1, t0 + a[i] + b[i], t1 + a[i], t2 + b[i])
else:
dfs(i + 1, t0 + a[i] + b[i], t1 + a[i], t2 + b[i])
dfs(i + 1, t0, t1, t2)
dfs(0, 0, 0, 0)
print(max(res, 0))
查看原帖
点赞 1
相关推荐
牛客热帖
更多
正在热议
更多
# 你的mentor是什么样的人? #
7872次浏览 65人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
266661次浏览 1859人参与
# 未岚大陆求职进展汇总 #
38578次浏览 117人参与
# 怎么给家人解释你的工作? #
4240次浏览 41人参与
# 26届秋招公司红黑榜 #
19165次浏览 68人参与
# 帮我看看,领导说这话什么意思? #
9936次浏览 51人参与
# 平安产险科技校招 #
2525次浏览 0人参与
# 你觉得面试是靠实力还是靠运气 #
23592次浏览 279人参与
# 校招泡的最久的公司是哪家? #
7575次浏览 44人参与
# 牛客树洞,我想对你说 #
2622次浏览 50人参与
# 求职低谷期你是怎么度过的 #
7852次浏览 148人参与
# 实习必须要去大厂吗? #
148262次浏览 1551人参与
# 度小满求职进展汇总 #
11159次浏览 58人参与
# 你觉得mentor喜欢什么样的实习生 #
13395次浏览 348人参与
# 你觉得多少薪资算SSP? #
113025次浏览 416人参与
# 没有家庭托举的我是怎么找工作的 #
15745次浏览 190人参与
# 你遇到过哪些神仙同事 #
117529次浏览 750人参与
# 同bg的你秋招战况如何? #
159108次浏览 927人参与
# 从哪些方向判断这个offer值不值得去? #
8701次浏览 104人参与
# 职场新人体验 #
101116次浏览 666人参与
# 职场破防瞬间 #
343601次浏览 2819人参与
# 面试紧张时你会有什么表现? #
2279次浏览 23人参与
查看7道真题和解析
