CSP-J第二轮试题-2020年-4题

news2024/11/24 3:22:28

文章目录

在这里插入图片描述

参考:

P7074 [CSP-J2020] 方格取数

总结

本系列为CSP-J/S算法竞赛真题讲解,会按照年份分析每年的真题,并给出对应的答案。本文为2020年真题。
https://www.luogu.com.cn/problem/list?tag=343&page=1
https://www.jisuanke.com/problem-sets/second-round

[CSP-J2020] 方格取数

题目描述

设有 n × m n \times m n×m 的方格图,每个方格中都有一个整数。现有一只小熊,想从图的左上角走到右下角,每一步只能向上、向下或向右走一格,并且不能重复经过已经走过的方格,也不能走出边界。小熊会取走所有经过的方格中的整数,求它能取到的整数之和的最大值。

输入格式

第一行有两个整数 n , m n, m n,m

接下来 n n n 行每行 m m m 个整数,依次代表每个方格中的整数。

输出格式

一个整数,表示小熊能取到的整数之和的最大值。

样例 #1

样例输入 #1

3 4
1 -1 3 2
2 -1 4 -1
-2 2 -3 -1

样例输出 #1

9

样例 #2

样例输入 #2

2 5
-1 -1 -3 -2 -7
-2 -1 -4 -1 -2

样例输出 #2

-10

提示

样例 1 解释

样例 2 解释

数据规模与约定

  • 对于 20 % 20\% 20% 的数据, n , m ≤ 5 n, m \le 5 n,m5
  • 对于 40 % 40\% 40% 的数据, n , m ≤ 50 n, m \le 50 n,m50
  • 对于 70 % 70\% 70% 的数据, n , m ≤ 300 n, m \le 300 n,m300
  • 对于 100 % 100\% 100% 的数据, 1 ≤ n , m ≤ 1 0 3 1 \le n,m \le 10^3 1n,m103。方格中整数的绝对值不超过 1 0 4 10^4 104

答案1

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

在这里插入图片描述

//#include <bits/stdc++.h>
#include<cstdio>//必须包含cstdio头文件
#include<iostream>
//#include<algorithm> //sort排序
//#include<cmath> //pow
using namespace std;

int n,m;
int a[1010][1010];
long long f[1010][1010];
long long g[1010][1010];


int main(){
	//freopen("candy.in","r",stdin);
	//freopen("candy.out","w",stdout);
	cin >>n >>m;
	for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j];
        }
	}
	for(int i=0;i<=n+1;i++){
        for(int j=0;j<=m+1;j++){
            f[i][j]=g[i][j]=-1e18;
        }
	}
	f[1][1]=a[1][1]; //f[1][1] 就是左上角的最优解
	for(int j=1;j<=m;j++){
        for(int i=1;i<=n;i++){
            f[i][j]=g[i][j]=max(f[i][j],f[i][j-1]+a[i][j]);//j-1表示前一列
        }
        for(int i=1;i<=n;i++){
            f[i][j]=max(f[i][j],f[i-1][j]+a[i][j]);
        }
        for(int i=n;i>=1;i--){
            g[i][j]=max(g[i][j],g[i+1][j]+a[i][j]);
        }
        for(int i=1;i<=n;i++){
            f[i][j]=max(f[i][j],g[i][j]);
        }
	}
	cout<<f[n][m];

    //system("pause");
	//fclose(stdin);
	//fclose(stdout);

	return 0;
}


在这里插入图片描述

现场真题注意事项

https://cspoj.com/contest.php?cid=1002
Fus5yz4x3EcSJH1Z

注意事项

  1. 文件名(程序名和输入输出文件名)必须使用英文小写。(提交必须使用freopen()进行提交)
  2. C/C++ 中函数 main() 的返回值类型必须是 int,程序正常结束时的返回值必须是0。
  3. 提交的程序代码文件的放置位置请参考各省的具体要求。
  4. 因违反以上三点而出现的错误或问题,申述时一律不予受理。
  5. 若无特殊说明,结果的比较方式为全文比较(过滤行末空格及文末回车)。
  6. 程序可使用的栈空间内存限制与题目的内存限制一致。
  7. 全国统一评测时采用的机器配置为:Inter® Core™ i7-8700K CPU @3.70GHz,内存 32GB。上述时限以此配置为准。
  8. 只提供 Linux 格式附加样例文件。
  9. 评测在当前最新公布的 NOI Linux 下进行,各语言的编译器版本以此为准

/*
假设输入样例数据存在文件test.in中,输出样例数据存在文件test.out中,
则在CSP、NOI等比赛的代码中,需添加freopen、fclose语句,
内容详见模板代码如下。
*/

#include <bits/stdc++.h>
#include<cstdio>//必须包含cstdio头文件
#include<iostream>
using namespace std;
 
int main(){
	freopen("test.in","r",stdin);
	freopen("test.out","w",stdout);
	
	cout<<"Hello NOI"<<endl;
	
	fclose(stdin);
	fclose(stdout);
	
	return 0;
}

下面为函数的简介,详细可参见 http://www.cplusplus.com/reference/clibrary/cstdio/freopen.html
函数名:freopen
声明:FILE *freopen( const char *path, const char *mode, FILE *stream );
所在文件: stdio.h
参数说明:
path: 文件名,用于存储输入输出的自定义文件名。
mode: 文件打开的模式。和fopen中的模式(如r-只读, w-写)相同。
stream: 一个文件,通常使用标准流文件。
返回值:成功,则返回一个path所指定文件的指针;失败,返回NULL。(一般可以不使用它的返回值)
功能:实现重定向,把预定义的标准流文件定向到由path指定的文件中。标准流文件具体是指stdin、stdout和stderr。其中stdin是标准输入流,默认为键盘;stdout是标准输出流,默认为屏幕;stderr是标准错误流,一般把屏幕设为默认。通过调用freopen,就可以修改标准流文件的默认值,实现重定向。

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    freopen("7532.in", "r", stdin);
    freopen("7532.out", "w", stdout);
    //原来的代码保持不变
    double a, b, r;
    int k;
    cin >> a >> b;
    k = int(a/b);
    r = a - b * k;
    printf("%g", r);
    //-------------
    fclose(stdin);
    fclose(stdout);
    return 0;
}

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

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

相关文章

Docker 自动化部署(实践)

常用命令 docker search jenkins查看需要的jenkins镜像源 docker pull jenkins/jenkins 拉取jenkins镜像 docker images查看下载的镜像源 docker ps 查看包含启动以及未启动的容器 docker ps -a查看启动的容器 docker rm 容器id/容器名称 删除容器 docker rm -f 容器id/容器名…

算法基础课第一部分

算法基础课 第一讲 基础算法快速排序归并排序二分整数二分模板AcWing 789. 数的范围(整数二分法)AcWing 1236.递增三元组AcWing 730. 机器人跳跃问题AcWing 1227. 分巧克力AcWing 1221. 四平方和(二分法/哈希)蓝桥杯-扫地机器人 (二分贪心)AcWing 790. 数的三次方根(浮点二分法…

NSSCTF做题(6)

[HCTF 2018]Warmup 查看源代码得到 开始代码审计 <?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $whitelist ["source">"source.php","hint"…

Java-API简析_java.util.Objects类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/133463511 出自【进步*于辰的博客】 因为我发现目前&#xff0c;我对Java-API的学习意识比较薄弱…

人工智能的学习算法

1956年&#xff0c;几个计算机科学家相聚在达特茅斯会议&#xff0c;提出了 “人工智能” 的概念&#xff0c;梦想着用当时刚刚出现的计算机来构造复杂的、拥有与人类智慧同样本质特性的机器。其后&#xff0c;人工智能就一直萦绕于人们的脑海之中&#xff0c;并在科研实验室中…

K折交叉验证——cross_val_score函数使用说明

在机器学习中&#xff0c;许多算法中多个超参数&#xff0c;超参数的取值不同会导致结果差异很大&#xff0c;如何确定最优的超参数&#xff1f;此时就需要进行交叉验证的方法&#xff0c;sklearn给我们提供了相应的cross_val_score函数&#xff0c;可对数据集进行交叉验证划分…

小程序是一种伪需求技术吗?

点击下方“JavaEdge”&#xff0c;选择“设为星标” 第一时间关注技术干货&#xff01; 免责声明~ 任何文章不要过度深思&#xff01; 万事万物都经不起审视&#xff0c;因为世上没有同样的成长环境&#xff0c;也没有同样的认知水平&#xff0c;更「没有适用于所有人的解决方案…

[NOIP2012 提高组] 开车旅行

[NOIP2012 提高组] 开车旅行 题目描述 小 A \text{A} A 和小 B \text{B} B 决定利用假期外出旅行&#xff0c;他们将想去的城市从 $1 $ 到 n n n 编号&#xff0c;且编号较小的城市在编号较大的城市的西边&#xff0c;已知各个城市的海拔高度互不相同&#xff0c;记城市 …

零基础一站式精通安卓逆向2023最新版(第一天):Android Studio的安装与配置

目录 一、Android Studio 开发环境的下载二、Android Studio 的安装与配置2.1 安装2.2 Android SDK 的管理 三、创建 Android 应用程序补充&#xff1a;安装完 Android Studio 后 SDK 目录下没有 tools 目录 一、Android Studio 开发环境的下载 通常情况下&#xff0c;为了提高…

对pyside6中的textedit进行自定义,实现按回车可以触发事件。

我的实现方法是&#xff0c;先用qt designer写好界面&#xff0c;如下图&#xff1a; 接着将其生成的ui文件编译成为py文件。 找到里面这几行代码&#xff1a; self.textEdit QTextEdit(self.centralwidget)self.textEdit.setObjectName(u"textEdit")self.textEdit…

Vue城市选择器示例(省市区三级)

Vue城市选择器&#xff08;省市区&#xff09; 读者可以参考下面的省市区三级联动代码思路&#xff0c;切记要仔细研究透彻&#xff0c;学习交流才是我们的本意&#xff0c;而非一成不变。切记切记&#xff01; 最近又重读苏子的词&#xff0c;颇为感慨&#xff0c;愿与诸君共…

2022年中国征信行业覆盖人群、参与者数量及征信业务查询量统计[图]

征信是指依法收集、整理、保存、加工自然人、法人及其他组织的信用信息&#xff0c;并对外提供信用报告、信用评估、信用信息咨询等服务&#xff0c;帮助客户判断、控制信用风险&#xff0c;进行信用管理的活动。 征信业主要范畴 资料来源&#xff1a;共研产业咨询&#xff08…

B. Comparison String

题目&#xff1a; 样例&#xff1a; 输入 4 4 <<>> 4 >><< 5 >>>>> 7 <><><><输出 3 3 6 2 思路&#xff1a; 由题意&#xff0c;条件是 又因为要使用尽可能少的数字&#xff0c;这是一道贪心题&#xff0c;所以…

初识多线程

一、多任务 现实中太多这样同时做多件事的例子了&#xff0c;例如一边吃饭一遍刷视频&#xff0c;看起来是多个任务都在做&#xff0c;其实本质上我们的大脑在同一时间依旧只做了一件事情。 二、普通方法调用和多线程 普通方法调用只有主线程一条执行路径 多线程多条执行路径…

uni-app_消息推送_华为厂商_unipush离线消息推送

文章目录 一、创建项目二、生成签名证书三、开通 unipush 推送服务四、客户端集成四、制作自定义调试基座五、开发者中心后台Web页面推送&#xff08;仅支持在线推送&#xff09;六、离线消息推送1、创建华为开发者账号2、开通推送服务3、创建项目4、添加应用5、添加SHA256证书…

【Linux】详解线程第三篇——线程同步和生产消费者模型

线程同步和生消模型 前言正式开始再次用黄牛抢票来讲解线程同步的思想通过条件变量来实现线程同步条件变量接口介绍初始化和销毁pthread_cond_waitsignal和broadcast 生产消费者模型三种关系用基本工程师思维再次理解基于生产消费者模型的阻塞队列版本一版本二多生多消 利用RAI…

2022年全球一次能源消费量:石油消耗量持续增加达190.69百亿亿焦耳,亚太地区消费量居首位[图]

一次性能源是指从自然界取得未经改变或转变而直接利用的能源。如原煤、原油、天然气、水能、风能、太阳能、海洋能、潮汐能、地热能、天然铀矿等。一次性能源又分为可再生能源和不可再生能源&#xff0c;前者指能够重复产生的天然能源&#xff0c;包括太阳能、风能、潮汐能、地…

响应式设计的实现方式

一. 什么是响应式 响应式网站设计是一种网络页面设计布局。页面的设计与开发应当根据用户行为以及设备环境&#xff08;系统平台&#xff0c;屏幕尺寸&#xff0c;屏幕定向等&#xff09;进行相应的响应和调整。 响应式网站常见特点&#xff1a; 1. 同时适配PC平板手机。 2…

排序篇(五)----非比较排序

排序篇(五)----非比较排序 基本思想&#xff1a; ​ 计数排序又称为鸽巢原理&#xff0c;是对哈希直接定址法的变形应用。 ​ 统计每个元素出现的次数&#xff0c;然后根据元素的大小顺序将它们放入正确的位置。 ​ 计数排序是一种小众的排序,它适合于数据密集的场景,按最大…

flink选择slot

flink选择slot 在这个类里修改 package org.apache.flink.runtime.resourcemanager.slotmanager.SlotManagerImpl; findMatchingSlot(resourceProfile)&#xff1a;找到满足要求的slot&#xff08;负责从哪个taskmanager中获取slot&#xff09;对应上图第8&#xff0c;9&…