首页 > 编程语言 >蓝桥杯 试题 算法训练 拿金币

蓝桥杯 试题 算法训练 拿金币

时间:2024-04-06 20:59:56浏览次数:24  
标签:金币 试题 格子 int 函数 蓝桥 main 定义

问题描述

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

输入格式

  第一行输入一个正整数n。
  以下n行描述该方格。金币数保证是不超过1000的正整数。

输出格式

  最多能拿金币数量。

样例输入

3
1 3 3
2 2 2
3 1 2

样例输出

11

数据规模和约定

  n<=1000

这类题目依然适合用dp(动态规划)解决

二维数组存储数据,累加即可

#include <bits/stdc++.h>
using namespace std;
int d[1001][1001];
int main(){

    int n;
    cin >> n;
    for(int i=1;i<=n;i++){			// n行
        for(int j=1;j<=n;j++){		// n行
            cin >> d[i][j];
        }
    }
    for(int i=1;i<=n;i++){			// n行
        for(int j=1;j<=n;j++){		// n列
            d[i][j] += (d[i-1][j] > d[i][j-1] ? d[i-1][j] : d[i][j-1]);  //判断这一个方格的上一步是上方或者左边
        }
    }
    cout << d[n][n];
    return 0;
    }

这里还有一个重点:

在定义大数组时,要放在主函数外

大数组要定义在函数外的原因如下:

定义在main函数外就是定义全局变量。在所有子程序(包括main函数)中定义的变量为局部变量。全局变量在静态存储区内分配内存,而局部变量在栈内分配内存空间。一般堆很大,比如内存1G,堆也可以大到1G。
C语言编写的程序会在运行期间创建一个堆栈段,用来保存函数的调用关系和局部变量,而在main函数内部定义大数组相当与在栈内需要一个很大的空间,会造成栈的溢出。因此,当我们需要定义一个极大的数组时,最好在main函数外部定义。

此外,作为局部变量时,如果没有赋值的区域,会自动赋值乱码,而作为全局变量则赋值为0

标签:金币,试题,格子,int,函数,蓝桥,main,定义
From: https://blog.csdn.net/m0_71041937/article/details/137437842

相关文章

  • python蓝桥题库2141-山
    见题目我最近买了他们官方的程序设计竞赛的书,一本紫色的,在引子部分这部分出现了这道题,最开始看代码的时候没看懂,我现在来逐层分析,你需要有一定基础来看这篇文章,还要就是我的见解偶数情况第一行先设置了个ans的计数变量接下来range循环20-20223(不对啊?这和题目要求的循环......
  • 蓝桥杯2023年A组-试题B-有奖问答
    0.题目小蓝正在参与一个现场问答的节目。活动中一共有30道题目,每题只有答对和答错两种情况,每答对一题得10分,答错一题分数归零。小蓝可以在任意时刻结束答题并获得目前分数对应的奖项,之后不能再答任何题目。最高奖项需要100分,所以到达100分时小蓝会直接停止答题。已知......
  • 第二十五周代码(蓝桥杯查缺补漏)
    2024/03/31    周日填充题目链接【参考代码】想用暴力,没过//枚举,未出结果QAQ#include <bits/stdc++.h>using namespace std;string s00 = "00";string s11 = "11";int ans = 0;//m个问号,子串有2^m种,使用dfs//初步思路:分割子串,直到只有两......
  • 2024年数字IC秋招-联发科-数字IC工程师(设计方向、验证方向、整合方向)-笔试题
    文章目录前言一、简答题1、阅读下列perl脚本,并完成任务2、使用二选一的MUX实现8选1电路,使得输入输出耗时最短,并指出最短路径需要经过几个mux3、DFT的全程,基本方法和对应的测试对象4、智力题5、自己熟悉的项目,完成的任务6、遇到的项目挑战,如何解决,有什么成果7......
  • 2024年数字IC秋招-大疆-数字芯片开发工程师-笔试题
    文章目录前言一、选择题(有单选和多选)1、以下会影响芯片工作频率的违例是?2、下列哪些手段能降低芯片动态功耗?3、关于锁存器(latch)和触发器(flip-flop),以下说法正确的是4、关于XILINXZYNQ器件,说法不正确的是:5、以下哪些电路结构在高速serdes中比较常见?6、......
  • MySQL面试题系列-10
    MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。MVCC解决的问题MVCC(多版本并发......
  • MySQL面试题系列-11
    MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。Mysql的char和varchar的区别?My......
  • 2024年150道高频Java面试题(十八)
    35.List、Set、Map之间的区别是什么?List、Set和Map是Java中CollectionFramework中的三大接口,它们用于存储集合数据,但是它们之间有着明显的区别:List(列表):List是一个有序集合,它允许元素重复。它维护了元素插入的顺序,可以通过索引(基于0的整数)访问。List接......
  • 蓝桥杯2023年A组-试题A-幸运数
    0.题目1.题解1.1暴力枚举思路这是一个填空题,所以可以直接暴力枚举注意:1.要是想要求位数:使用log10(abs(num))+12.%求余两边都必须是整数,pow(10,halfDigits);的返回值是double,这里必须转换代码#include<iostream>#include<cmath>boolisLuckyNumber(intn......
  • LG_P8728 [蓝桥杯 2020 国 B] 填空问题 题解
    蓝桥杯2020国BP8728题解A题直接写Python暴力一下。Output:563故答案为\(563\)。B题直接写Python暴力一下(欸怎么又来了)。总之就是写一个DFS,枚举每一个向外走,步数\(x\)满足\(x\le2020\)的点就好啦!Output:20312088故答案为\(20312088\)。C题直......