Codeforces Round 790 (Div. 4) D 求矩形里面斜线的和的最大值

news2024/11/17 17:46:29

Codeforces Round 790 (Div. 4) D

做题链接:https://codeforces.com/contest/1676/problem/D

帖木儿的爷爷送给他一个棋盘,让他练习棋艺。这个棋盘是一个a行n列的网格,每个单元格都写有一个非负整数。

帖木儿的挑战是在棋盘上放置一只主教,使主教攻击的所有单元格之和为最大。主教可以向对角线的所有方向攻击,而且攻击距离没有限制。请注意,主教所在的单元格也被视为受到攻击。帮助他找出他能得到的最大和。

输入

输入的第一行包含一个整数 t(1≤t≤1000)--测试用例数。测试用例说明如下。

每个测试用例的第一行包含整数 n和 m(1≤n≤200,1≤m≤200)。

下面的n行各包含m个整数,i-行的j-个元素aij是写在j-行的i-个单元格中的(0≤aij≤10^6)(0≤10^6)个数字。

保证所有测试用例的 n⋅m之和不超过 4⋅10^4。

输出

对每个测试用例输出一个整数,即所有可能的主教位置的最大和。

 

思想:暴力,但是要注意很多细节,每次把当前点要走的下一步作为起点开始斜线遍历,这样可以有效避免越界问题,并且最后只用加上当前数。

 代码:

// Problem: D. X-Sum
// Contest: Codeforces - Codeforces Round 790 (Div. 4)
// URL: https://codeforces.com/contest/1676/problem/D
// Memory Limit: 256 MB
// Time Limit: 2000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

#include<bits/stdc++.h>
using namespace std;

typedef long long ll;

const int N = 210;

int main(){
	int T;
	cin>>T;
	while(T--){
		int n,m;
		cin>>n>>m;
		int a[N][N];
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				cin>>a[i][j];
			}
		}
		int maxv=0;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				int ans=0;
				int x=i+1,y=j+1;
				while(x<=n&&y<=m){
					ans+=a[x][y];
					x++;
					y++;
				}
				x=i-1,y=j-1;
				while(x>=1&&y>=1){
					ans+=a[x][y];
					x--;
					y--;
				}
				x=i+1,y=j-1;
				while(x<=n&&y>=1){
					ans+=a[x][y];
					x++;
					y--;
				}
				x=i-1,y=j+1;
				while(x>=1&&y<=m){
					ans+=a[x][y];
					x--;
					y++;
				}
				ans+=a[i][j];
				
				maxv=max(maxv,ans);
			}
		}
		cout<<maxv<<"\n";
		
	}

	
	return 0;	

}

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

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

相关文章

Sweet Home 3D for Mac(3D室内装潢设计软件)

如果你想设计一个美丽而舒适的家居空间&#xff0c;那么Sweet Home 3D for Mac(3D室内装潢设计软件)是一个不可或缺的工具。 Sweet Home 3D for Mac是一款功能强大的室内装潢设计软件&#xff0c;专为Mac用户设计。 它提供了一个直观而易于使用的界面&#xff0c;使您能够轻松…

【Y 码力】WAL 与性能

【Y 码力】: 是由 YMatrix 研发团队负责的栏目&#xff0c;栏目专注介绍数据库的底层原理、实现细节&#xff0c;以及YMatrix 研发团队不断探索中的工程实践。我们希望栏目能够成为数据库技术的显微镜&#xff0c;同时也能够成为大家了解 YMatrix 研发团队的一扇窗。 摘要 谈…

百度千帆大模型文心一言api调用

注册百度智能云账号并申请文心千帆大模型资格 https://login.bce.baidu.com/ https://cloud.baidu.com/product/wenxinworkshop 创建应用获取 创建应用成功后,可以获取到API Key和Secret Key 获取access_token curl https://aip.baidubce.com/oauth/2.0/token?grant_typec…

PyCharm、IDEA、 CLion 专业版安装

1.下载专业版 PyCharm 2.以2023.1.4为例 3.next 4.next 5.next 6.Install 7.Finish 8.Activate 链接&#xff1a;https://pan.baidu.com/s/1N9n8wGgkvjfOX8oDrfX2Hw 提取码&#xff1a;yyds

00_socket_demo

1.服务器端的代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h>#define PORT 8080 #define BUFFER_SIZE 1024int main() {int server_fd, new_soc…

嵌入式Linux基础学习笔记目录

1. 嵌入式Linux应用开发基础知识 1.1 交叉编译 1.2 GCC编译器 1.3 makefire 1.4 文件I/O 1.5 Framebuffer应用编程 1.6 文字显示及图象显示 1.7 输入系统应用编程 1.8 网络编程 1.9 多线程编程 1.10 串口编程 1.11 I2C应用编程 2. 源码分析 2.1 MQTT源码 2.2 蓝牙源码 2.3 MJP…

C# xml序列化以及遇到的坑

需求&#xff1a;需要将对象进行xml序列化&#xff0c;不想包含xml声明也不想格式化 通过百度找到了如下的方法 /// <summary> /// 对象转化为xml字符串 /// </summary> /// <param name"obj"></param> /// <returns></returns>…

uni-app开发小程序时ucharts图表如何使用

在此不会具体告诉大家怎么做&#xff0c;我只告诉大家方法&#xff1a; 第一步&#xff0c;推荐使用组件方法进行绘图&#xff0c;首先去官网下载这个ucharts的插件&#xff1a; 秋云 ucharts echarts 高性能跨全端图表组件 - DCloud 插件市场 下载完毕导入到所需要用到的项目…

学会Spring MVC文件上传、下载和JRebel的使用

目录 引言&#xff1a; 1.文件上传简介 文件上传在Web应用的重要性 2.单文件上传示例 导入依赖 配置文件上传解析器 配置服务器存放文件地址 导入PropertiesUtil工具类 编写resource.properties 添加sql 主页面 文件上传方法 多文件上传示例 文件下载&#xff1a; 文件…

【VAE】

个人网站&#xff1a;https://tianfeng.space 一、VAE 与普通自动编码器一样&#xff0c;变分自动编码器有编码器Encoder与解码器Decoderi两大部分组成&#xff0c;原始图像从编码器输入&#xff0c;经编码器后形成隐式表示(Latent Representation)&#xff0c;之后隐式表示被…

GC 算法与种类

对于垃圾收集&#xff08;GC&#xff09;, 我们需要考虑三件事情&#xff1a;哪些内存需要回收&#xff1f;如何判断是垃圾对象&#xff1f;垃圾回收算法有哪些&#xff1f; 一、GC的工作区域 1、不是GC的工作区域 (1)程序计数器、虚拟机栈和本地方法栈三个区域是线程私有的&…

浅谈UI自动化测试

最近一直在学习python&#xff0c;正好部门技术结构调整&#xff0c;就开始了点工向UI自动化测试的转变&#xff0c;我要说瞌睡来了就掉枕头么&#xff1f; 不过还好&#xff0c;可以将python的学习成果在自动化测试中实践。。。 1、about自动化测试 定义&#xff1a;把人为驱…

SQL5 将查询后的列重新命名

描述 题目&#xff1a;现在你需要查看前2个用户明细设备ID数据&#xff0c;并将列名改为 user_infos_example,&#xff0c;请你从用户信息表取出相应结果。 示例&#xff1a;user_profile iddevice_idgenderageuniversityprovince12138male21北京大学Beijing23214male复旦大学…

springboot启动流程梳理

启动顺序主要针对SpringApplication.run&#xff08;&#xff09;方法的梳理 一 SpringApplication类的实例化 ApplicationContextInitializer 实现类的资源配置文件读取以及实现相关类的实例化 1&#xff09;.加载 ApplicationContextInitializer 实现类 &#xff0c;由 Spri…

【数据结构】串

串 串的顺序实现简单的模式匹配算法KMP算法KMP算法的进一步优化 串的顺序实现 初始化 #define MaxSize 50 typedef char ElemType;//顺序存储表示 typedef struct{ElemType data[MaxSize];int length; }SString;/*** 初始化串*/ void InitString(SString *string) {for (int …

【C++】构造函数分类 ③ ( 调用有参构造函数的方法 | 括号法 | 等号法 )

文章目录 一、在不同的内存中创建类的实例对象1、括号法调用构造函数2、等号法调用构造函数 二、完整代码示例 一、在不同的内存中创建类的实例对象 在上一篇博客 【C】构造函数分类 ② ( 在不同的内存中创建类的实例对象 | 栈内存中创建实例对象 | new 关键字创建对象 ) 中 , …

从0到1学会Git(第三部分):Git的远程仓库链接与操作

写在前面:前面两篇文章我们已经学会了git如何在本地进行使用&#xff0c;这篇文章将讲解如何将本地的git仓库和云端的远程仓库链接起来并使用 为什么要使用远程仓库:因为我们需要拷贝我们的代码给别人以及进行协同开发&#xff0c;就需要有一个云端仓库进行代码的存储和同步&a…

nginx配置-gzip

1、想看nginx配置的时候&#xff0c;发现没有nginx命令&#xff0c;是没有配置环境变量。 cd etc/ vim profile 加入 unset i unset -f pathmunge PATH/usr/local/nginx/sbin:$JAVA_HOME/bin:$PATH //这一行 export JAVA_HOME/usr/local/soft/jdk8 expo…

qpushbutton 样式表

QPushButton {color:#ffffff; /*文字颜色*/background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #aa55ff, stop: 1 #1296db);/*背景色*/border-style:outset; /*边框风格*/border-width:2px;/*边框宽度*/border-color:#0055ff; /*边框颜色*/border-radius:10…

如何用 Java 找到字符串中的元音

这个题目其实不难&#xff0c;这是一个公司面试的时候要求的题目。 这个公司的面试有点意思&#xff0c;他们希望 Zoom 看我的电脑&#xff0c;然后让我解决问题。 题目 题目就非常简单了&#xff0c;他们给了我 2 个字符串。 其中一个是测试字符串&#xff0c;另外一个是元…