加个记忆化呀。 我也是递归写的。 int a[1030][1030], n, mem[1030][1030]; int f(int i, int j) { if (i == n) return a[i][j]; if (mem[i][j] != -1) return mem[i][j]; return mem[i][j] = max(f(i+1, j), f(i+1, j+1)) + a[i][j]; } int main() { memset(mem, -1, sizeof(mem)); cin >> n; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= i; ++j) cin >> a[i][j]; } cout << f(1, 1); return 0; }
点赞 5

相关推荐

点赞 评论 收藏
分享
Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
认真搞学习:这么良心的老板真少见
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务