蓝桥杯-数字三角形

cpp 复制代码
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
const int N=110;
int n;
int a[N][N];
int f[N][N];
int main()
{
  scanf("%d",&n);
  //1.输入图形
  for(int i=1;i<=n;i++)
    for(int j=1;j<=i;j++)
     scanf("%d",&a[i][j]);
   
  //2.情形1
  f[1][1]=a[1][1];
  //3.开始遍历
  for(int i=2;i<=n;i++)
  {
    for(int j=1;j<=i;j++)
  {
  //4.情形2:左边球
     if(j==1)
     f[i][j]=f[i-1][j]+a[i][j];
     //5.情形3:右边球
     else if(i==j) f[i][j]=f[i-1][j-1]+a[i][j];//分成三种情况讨论
     //6.情形4:中间球
     else f[i][j]=max(f[i-1][j],f[i-1][j-1])+a[i][j];
  }
}
//5.对步数进行判断
 if(n%2==1) cout<<f[n][n/2+1];
  else cout<<max(f[n][n/2],f[n][n/2+1]);
  找规律发现如果n为奇数时,最后必然走到最后行最中间的数,如果为偶数,则取中间两个数的最大值,
  //因为向左下走的次数与向右下走的次数相差不能超过 1
   return 0;
}
相关推荐
炽烈小老头9 分钟前
【每日天学习一点算法 2026/04/27】缺失的第一个正数
学习·算法
南宫萧幕29 分钟前
HEV 智能能量管理实战:从 MPC/PPO 理论解析到 Python-Simulink 联合仿真闭环全流程
开发语言·python·算法·matlab·控制
啦啦啦_999930 分钟前
1. 一元/多元线性回归之 正规方程求解法
算法·回归·线性回归
ECT-OS-JiuHuaShan1 小时前
整体论体系定理,全球开放,无法绕过
人工智能·科技·学习·算法·生活
贾斯汀玛尔斯1 小时前
每天学一个算法--BM25(Okapi BM25)
算法
谭欣辰1 小时前
详细讲解 C++ 状压 DP
开发语言·c++·动态规划
grant-ADAS2 小时前
Overlay套刻测量
算法
猿长大人2 小时前
算法 | Douglas-Peucker 拯救“腰椎间盘突出的三角形”
算法
HackTorjan2 小时前
深度解析雪花算法及其高性能优化策略
人工智能·深度学习·算法·性能优化·dreamweaver
北顾笙9802 小时前
day35-数据结构力扣
数据结构·算法·leetcode