题目

暴力:最大路径和
n = int(input())
a = [[0] * (n+1) for _ in range(n+1)]
for i in range(1, n+1):
for j in range(1, i+1):
temp = int(input())
a[i][j] = max(a[i-1][j-1], a[i-1][j]) + temp
res = 0
for i in range(1, n+1):
if res < a[n][i]:
res = a[n][i]
print(res)
题解:动态规划
n = int(input())
dp = []
for i in range(n):
dp.append(list(map(int, input().split())))
for i in range(1, n):
for j in range(i+1):
if j == 0:
dp[i][j] += dp[i-1][j]
elif j == i:
dp[i][j] += dp[i-1][j-1]
else:
dp[i][j] += max(dp[i-1][j], dp[i-1][j-1])
if n % 2 == 0:
print(max(dp[n-1][n//2-1], dp[n-1][n//2]))
else:
print(dp[n-1][n//2])
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人