蓝桥杯-数字三角形

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;
}
相关推荐
空奈qwq9 分钟前
ANN 全连接神经网络入门指南:从神经元到深度学习的第一步
人工智能·python·深度学习·神经网络·算法·机器学习
hetao173383726 分钟前
2026-09-27~28 hetao1733837 的刷题记录
c++·算法
Godspeed Zhao34 分钟前
现代智能雷达技术15——算法(1)
人工智能·算法·雷达
代码什么用37 分钟前
LeetCode-42. 接雨水
算法·leetcode
lengxuenong41 分钟前
枚举及其优化学习手册
c++·学习·算法·青少年编程
小O的算法实验室1 小时前
IEEE TAI,RoCo:基于角色的LLM协作实现自动启发式设计
算法
小范的技术工坊1 小时前
大模型蒸馏
人工智能·算法·数据挖掘·大模型
Benny_Tang1 小时前
P9527 [JOIST 2022] 洒水器 / Sprinkler 题解
c++·算法
kiracrimson1 小时前
希尔排序:让插入排序不再怕逆序
数据结构·算法·排序算法
yi0112 小时前
DAY17: LeetCode 139|单词拆分:从“把单词删掉”到用 DP 记录合法切口
人工智能·笔记·python·算法·leetcode·动态规划