[计蒜客(蓝桥杯省赛)]捡水果 原创

题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛)

算法标签 DP

题目描述在这里插入图片描述

思路

取消前导零看成样例输入比较方便。

不需要考虑边界,因为即使越界,也是考虑Max(n,m)必然取得是有效值

上山比下山少一次循环判断。

题目代码

下山做法
#include<iostream>

using namespace std;

const int N = 1010;
int a[N][N]={0};

int Max(int a,int b){return a>b?a:b;}
int main()
{
  int n;
  cin>>n;
  
  for(int i=0;i<n;i++)
    for(int j=0;j<=i;j++)cin>>a[i][j];
  
  for(int i=0;i<n;i++)
    for(int j=0;j<=i;j++)a[i][j]+=Max(a[i-1][j-1],a[i-1][j]);
  
  int t=0;
  for(int i=0;i<n;i++)
    t=Max(t,a[n-1][i]);

  cout<<t;
  
  return 0;
}
上山做法
#include<iostream>

using namespace std;

const int N = 1010;
int a[N][N]={0};

int Max(int a,int b){return a>b?a:b;}
int main()
{
  int n;
  cin>>n;
  
  for(int i=0;i<n;i++)
    for(int j=0;j<=i;j++)cin>>a[i][j];
  
 for(int i=n-2;i>=0;i--)
    for(int j=0;j<=i;j++)a[i][j]+=Max(a[i+1][j+1],a[i+1][j]);

  cout<<a[0][0];
  
  return 0;
}
posted @   俺叫西西弗斯  阅读(0)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示