头歌 | 获取最多金币

news2024/10/10 4:14:53

题目描述

有一个 N x N 的方格,每一个格子都有一些金币,只要站在格子里就能拿到里面的金币。你站在最左上角的格子里,每次可以从一个格子走到它右边或下边的格子里。请问如何走才能拿到最多的金币。

输入输出格式

输入格式

第一行有一个整数 N。
之后 N 行有 N 个整数,表示数组数组的所有元素,每个整数用一个空格隔开。

输出格式

一个整数。

输入输出样例1

输入

1
3

输出

3

输入输出样例2

输入

3
1 3 3
2 2 2
3 1 2

输出

11

说明提示

1≤n≤1000

思路

由于要使用动态规划来解决。

首先,我们要创建两个二维数组,一个是存地图的,一个是存sumres数组。

res数组在最开始要将第0行和第0列设为0,表示在尚未计算时,sum的初始值为0

然后,在设置一个函数int f(int i, int j)用于更新res数组的res[i][j]

f函数的代码如下:

void f(int i, int j) {
    res[i][j] = res[i][j-1]+a[i][j] > res[i-1][j]+a[i][j]? res[i][j-1]+a[i][j]: res[i-1][j]+a[i][j];
    maxN = maxN < res[i][j]? res[i][j]: maxN;
}

f函数表示的意思是res[i][j]res[i][j-1]+a[i][j]res[i-1][j]+a[i][j]二者之一的最大值。

接着,就是说一下程序中函数res数组的更新顺序,是从左到右逐层运行。

最终成果如下:

在这里插入图片描述

Code

#include <bits/stdc++.h>
using namespace std;
int res[1001][1001] = {0}, a[1001][1001] = {0}, maxN = 0;

void f(int i, int j) {
    res[i][j] = res[i][j-1]+a[i][j] > res[i-1][j]+a[i][j]? res[i][j-1]+a[i][j]: res[i-1][j]+a[i][j];
    maxN = maxN < res[i][j]? res[i][j]: maxN;
}

int main() {
    int n;
    cin >> n;
    for(int i = 0; i <= n; ++i) {res[i][0] = res[0][i] = 0;}
    for(int i = 1; i <= n; ++i) {
        for(int j = 1; j <= n; ++j) {
            cin >> a[i][j];
        }
    }
    for(int i = 1; i <= n; ++i) {
        for(int j = 1; j <= n; ++j) {
            f(i, j);
        }
    }
    cout << maxN;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2195303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

msvcp100.dll丢失怎样修复,6招轻松解决msvcp100.dll丢失问题

在众多电脑故障中&#xff0c;msvcp100.dll丢失问题尤为常见。本文将详细探讨msvcp100.dll丢失的原因、影响、解决方法以及预防措施&#xff0c;帮助用户更好地应对这一难题。 一、什么是msvcp100.dll&#xff1f; msvcp100.dll是微软Visual C 2010 redistributable package的…

【网络协议大花园】应用层 http协议的使用小技巧,用好了都不用加班,效率翻两倍(上篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

基站设备检测系统源码分享

基站设备检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

【网络篇】计算机网络——运输层详述(笔记)

目录 一、运输层 1. 概述 2. 运输层和网络层的关系 3. 运输层协议概述 二、多路复用和多路分解 1. 综述 2. 无连接的多路复用与多路分解&#xff08;UDP&#xff09; 3. 面向连接的多路复用与多路分解&#xff08;TCP&#xff09; 4. Web 服务器与TCP 三、UDP&#x…

CMake 教程跟做与翻译

目录 STEP 1: 入门与理解 cmake_minimum_required设置CMake版本的最小值 project声明工程属性 add_executable添加可执行文件 使用CMake构建工程 根据自己的构建工具自行构建 Reference STEP 1: 入门与理解 我们起手的&#xff0c;最基本的 CMake 项目是从单个源代码文件…

一篇教你玩转腾讯混元大模型!

0 前言 腾讯混元大模型&#xff08;Tencent Hunyuan&#xff09;具备&#xff1a; 强大的中文创作能力复杂语境下的逻辑推理能力可靠的任务执行能力 基于混元大模型&#xff0c;腾讯云推出文本生成、图像创作、视频创作产品方案&#xff0c;覆盖全场景AIGC应用&#xff1a; …

如何在 Kubernetes 上部署 Spark

在 Kubernetes 集群中部署 Apache Spark&#xff0c;需要你具备对 Kubernetes 的工作原理、Spark 的架构以及云原生应用的理解。 前期准备工作 在进行 Spark 的部署之前&#xff0c;需要对你的 Kubernetes 环境做好充分的准备。这包括 Kubernetes 集群的搭建以及基础工具的安…

【大模型理论篇】大模型相关的周边技术分享-关于《NN and DL》的笔记

本文所要介绍的一本书《Neural Networks and Deep Learning》&#xff0c;该书作者Michael Nielsen&#xff0c;Y Combinator Research的研究员&#xff0c;是多年之前自己看的一本基础书籍&#xff0c;很适合入门了解一些关于深度学习的概念知识&#xff0c;当然也包含了一些小…

华为OD机试 - 日志限流 - 二分查找(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

毕业设计——springboot + VUE实现后台管理系统(集成JWT接口权限验证)

作品详情 - 高质量的代码、代码结构、和代码注释 - 漂亮的UI&#xff0c;菜单栏、标签页&#xff0c;体验、交互更好用的员工、部门、角色、菜单管理等等 - 优化基于Keepalive的标签页&#xff0c;做到标签页该缓存的时候缓存&#xff0c;比如左右切换等&#xff0c;不该缓存的…

二、图解C#教程

一、方法 {}块&#xff0c;里面的是方法体 二、Var关键字 推断出等号右边的实际类型 三、局部常量 1、声明时必须初始化 2、声明后不能改变

虚拟内存能不能完全关了?太占空间了……

前言 这几天咱们提到关于Swap区&#xff08;就是Linux上的数据交换分区&#xff09;&#xff0c;在Windows上这个功能被称为虚拟内存。 前段时间&#xff08;应该是很早之前&#xff09;&#xff0c;小白写过一篇关于虚拟内存的文章&#xff1a; Windows调大虚拟内存来代替升…

常见激活函数总结

简介&#xff1a;个人学习分享&#xff0c;如有错误&#xff0c;欢迎批评指正。 一. 激活函数的定义 激活函数&#xff08;Activation Function&#xff09;是人工神经网络中对每个神经元的输入进行非线性变换的函数。神经网络中的每个神经元都会接受来自上一层的输入&#xf…

qt_c++_xml存这种复杂类型

demo&#xff0c;迅雷链接。或者我主页上传的资源 链接&#xff1a;https://pan.xunlei.com/s/VO8bIvYFfhmcrwF-7wmcPW1SA1?pwdnrp4# 复制这段内容后打开手机迅雷App&#xff0c;查看更方便 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>#include…

【MySQL】使用 JDBC 连接数据库

文章目录 前言1. 认识 JDBC1.1 概念1.2 好处 2. 使用 JDBC2.1 安装数据驱动包2.2 把 jar 包导入到项目中2.3 代码编写2.4 测试结果 3. 代码优化4. 源码展示结语 前言 在 MySQL 系列中&#xff0c;我们介绍了很多内容&#xff0c;包括但不限于建库建表&#xff0c;增删查改等等…

如何使用MATLAB代码生成器生成ADRC跟踪微分器(TD) PLC源代码(SCL)

ADRC线性跟踪微分器TD详细测试 ADRC线性跟踪微分器TD详细测试(Simulink 算法框图+CODESYS ST+博途SCL完整源代码)-CSDN博客文章浏览阅读383次。ADRC线性跟踪微分器(ST+SCL语言)_adrc算法在博途编程中scl语言-CSDN博客文章浏览阅读784次。本文介绍了ADRC线性跟踪微分器的算法和…

图论day55|深度优先搜索理论基础、98. 所有可达路径(卡码网)

图论day55|深度优先搜索理论基础、98. 所有可达路径(卡码网&#xff09; 思维导图汇总深度优先搜索理论基础98.所有可达路径(卡码网)1.邻接矩阵法2.邻接表法 思维导图汇总 深度优先搜索理论基础 深度优先搜索&#xff08;dfs&#xff09;与广度优先搜索&#xff08;bfs&#xf…

@Transactional声明式事务回调编程

文章目录 1. 理论阐述2. 代码实现2.1. 问题代码2.2. 改进方案 本文参考&#xff1a; 事务回调编程 大事务问题 1. 理论阐述 最近在学习数据库事务的过程中&#xff0c;了解到了大事务的危害&#xff1a; 并发情况下&#xff0c;数据库连接资源容易耗尽锁定数据较多&#xff0…

SpringBoot企业级开发(SpringSecurity安全控制+pringBatch批处理+异步消息+系统集成SpringIntegration)

Spring Security 多个过滤器来实现所有安全的功能&#xff0c;只需要注册一个特殊的DelegatingFilterProxy过滤器到WebAppliationInitializer即可 实际使用中需要让自己的Initializer类继承AbstractSecurity WebApplicationInitializer抽象类即可。 AbstractSecurityWebAppli…

【瑞昱RTL8763E】刷屏

1 显示界面填充 用户创建的各个界面在 rtk_gui group 中。各界面中 icon[]表对界面进行描述&#xff0c;表中的每个元素代表一 个显示元素&#xff0c;可以是背景、小图标、字符等&#xff0c;UI_WidgetTypeDef 结构体含义如下&#xff1a; typedef struct _UI_WidgetTypeDef …