当前位置: 首页 > news >正文

c++_0基础_讲解7 练习

这一讲我为大家准备了几道题目,大家试着独自做一下(可能来自不同网站

整数大小比较 - 洛谷

题目描述

输入两个整数,比较它们的大小。若 x>yx>y ,输出 > ;若 x=yx=y ,输出 = ;若 x<yx<y,输出 < 。

输入格式

一行,包含两个整数 xx 和 yy ,中间用单个空格隔开。 0≤x<232,−231≤y<2310≤x<232,−231≤y<231 。

输出格式

一个字符。若 x>yx>y,输出 > ;若 x=yx=y ,输出 = ;若 x<yx<y ,输出 < ;

输入输出样例

输入 #1复制

1000 100

输出 #1复制

>

首先我们看到数据范围,x 的大小有可能超过 int 的范围,所以我们要使用 long long 来存储。代码如下:#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main() {long long x, y;cin >> x >> y;if (x > y) {cout <<">";}if (x == y) {cout <<"=";}if (x < y) {cout <<"<";}return 0;
}

三角形判断 - 洛谷

题目描述

给定三个正整数,分别表示三条线段的长度,判断这三条线段能否构成一个三角形。

输入格式

输入共一行,包含三个正整数,分别表示三条线段的长度,数与数之间以一个空格分开。(三条边的长度均不超过 1000010000)

输出格式

如果能构成三角形,则输出 1 ,否则输出 0

输入输出样例

输入 #1复制

1 1 1

输出 #1复制

1

输入 #2复制

1 1 3

输出 #2复制

0

说明/提示

构成三角形的条件:

任意两边长度之和大于第三条边的长度。

根据小学数学的知识可知,任意两边之和大于第三边,即可形成三角形,我们在程序中判断一下即可。

#include<bits/stdc++.h>
using namespace std;
int main() {int a,b,c;cin>>a>>b>>c;int mx=max(a,max(b,c));int sum=a+b+c;sum-=mx;if(sum>mx){cout<<1;}else cout<<0;
}

[语言月赛 202405] 最大的和 - 洛谷

题目描述

小 S 喜欢连在一起的数字,如果这些数字的和很大就更好了。

所以她现在要给你一个 n 行 n 列的网格 AA,第 i行第 j列上填有一个整数 Ai,j​。

接下来你可以在 A上任取一行一列一条与任意对角线平行只经过网格交叉点直线(注意,不是线段),满足经过至少一个数字,且经过的数字之和最大。

如果对上面的表述有疑惑,请参考样例解释辅助理解。

你需要告诉小 S 这个最大的数字之和。

输入格式

输入共 n+1 行。

第一行,一个正整数 n,表示方阵的行数、列数。
接下来 n行,每行 n=n 个用空格隔开的整数,其中第 i行第 j个整数表示 Ai,j​。

输出格式

输出一行一个整数,表示最大的数字之和。

输入输出样例

输入 #1复制

3
1 1 1
2 2 2
3 3 3

输出 #1复制

9

输入 #2复制

3
-1 1 2
4 0 3
1 9 2

输出 #2复制

13

输入 #3复制

3
-1 -1 -1
-1 -1 -1
-1 -1 -1

输出 #3复制

-1

输入 #4复制

3
-100 -10 -100
-10 99999 -10
-100 -10 -100

输出 #4复制

99979

说明/提示

样例 1 解释

对于样例 11,不难看出第 33 行数字之和最大,有 3+3+3=93+3+3=9。

样例 2 解释

对于样例 22,数字之和最大的,满足条件的线如下所示:

此时有 4+9=134+9=13。

注意,因为要求与对角线平行的直线只能经过网格交点,所以并不能出现同时取 4,1,94,1,9 或同时取 4,1,9,24,1,9,2 这样的情况。

样例 33 解释

取某条只经过一个 −1−1 的直线即为最大。注意,不可以一个数字都不选。

样例 44 解释

显然,取斜着的线一定不优,只能选择中间那一行或一列,答案是 −10+99999−10=99979−10+99999−10=99979。

数据范围

对于前 30%30% 的数据,保证 A1,1A1,1​ 或 An,nAn,n​ 的值为网格中唯一的非负整数。
对于另 20%20% 的数据,保证每一行数字相同,且最后一行中的数字之和为最大值
对于另 20%20% 的数据,保证每一行数字相同,网格中不存在负数。
对于 100%100% 的数据,保证 1≤n≤2×103,−105≤Ai,j≤1051≤n≤2×103,−105≤Ai,j​≤105。

题目大意

给定一个 n×nn×n 的方阵,请你取一行,一列,或者与对角线平行的一条只经过格点的直线,满足经过的数字和最大。

题目分析

首先,开一个二维数组 a 来存储方阵上的数字:

int a[2005][2005];

然后开两个变量 ans 和 res。 ans 代表最终答案,初始要赋值成一个很小的负数(比如 −1018−1018);res 代表一个临时变量,用来统计某一行、某一列或某一斜线上的数字和。注意数据范围,要使用 long long 类型:

long long res, ans = -1e18;

接下来考虑求出答案。取一行、一列的情况是好写的。对于取一行的情况,我们可以循环枚举每一行,然后分别算出每一行的数字和,用数字和去更新答案。写法如下:

for(int i = 1; i <= n; i++) {res = 0;for(int j = 1; j <= n; j++)res += a[i][j];ans = max(ans, res);
}

取一列的情况同理,枚举列即可:

for(int i = 1; i <= n; i++) {res = 0;for(int j = 1; j <= n; j++)res += a[j][i];ans = max(ans, res);
}	

接下来考虑如何求与对角线平行的情况。这里我们首先需要了解一个知识点:

  • 考虑从左上右下的对角线。对于任意一条与这个对角线平行的直线,其经过的所有格子的行数与列数之差一定相同。

我们这里画图来解释一下。

首先,这是一个 5×55×5 的方阵。我们随便取一条从左上到右下的满足条件的斜线:

不难发现,(2,1),(3,2),(4,3),(5,4)(2,1),(3,2),(4,3),(5,4) 都满足行数 −− 列数 =1=1。大家也可以试试其它斜线,可以发现都满足上面的规律。

  • 考虑从右上左下的对角线。对于任意一条与这个对角线平行的直线,其经过的所有格子的行数与列数之和一定相同。

我们同样画图来解释一下。

不难发现,(1,4),(2,3),(3,2),(4,1)(1,4),(2,3),(3,2),(4,1) 都满足行数 ++ 列数 =5=5。大家也可以试试其它斜线,可以发现都满足上面的规律。

因此,对于从左上到右下的斜线,我们可以选择枚举行数与列数的差,这样就相当于枚举了这条斜线。然后将斜线上的数字都加起来,去更新答案:

//这里 i 代表正在枚举的行数与列数的差(左上到右下)
//行和列的最小值都是 1,最大值都是 n,所以这个差值最小就是 1-n,最大是 n-1
for(int i = 1-n; i <= n-1; i++) {res = 0;//然后枚举这条线上所有格子的行数 j//那么此时列数就等于 j-ifor(int j = 1; j <= n; j++)//这里 j-i 还要判断范围,是因为要保证这个格子不能出界if(1 <= j-i && j-i <= n) res += a[j][j-i];ans = max(ans, res);
}

从右上到左下的斜线也类似:

//这里 i 代表正在枚举的行数与列数的和(右上到左下)
//行和列的最小值都是 1,最大值都是 n,所以这个和值最小就是 2,最大是 n+n
for(int i = 2; i <= n+n; i++) {res = 0;//然后枚举这条线上所有格子的行数 j//那么此时列数就等于 i-jfor(int j = 1; j <= n; j++)//这里 i-j 还要判断范围,是因为要保证这个格子不能出界if(1 <= i-j && i-j <= n) res += a[j][i-j];ans = max(ans, res);
}

最后输出答案即可:

cout << ans << '\n';

相关文章:

c++_0基础_讲解7 练习

这一讲我为大家准备了几道题目&#xff0c;大家试着独自做一下&#xff08;可能来自不同网站&#xff09; 整数大小比较 - 洛谷 题目描述 输入两个整数&#xff0c;比较它们的大小。若 x>yx>y &#xff0c;输出 > &#xff1b;若 xyxy &#xff0c;输出 &#xff…...

docker一些常用命令以及镜像构建完后部署到K8s上

docker一些常用命令以及镜像构建完后部署到K8s上 1.创建文件夹2.删除文件3.复制现有文件内容到新建文件4.打开某个文件5.查看文件列表6.解压文件&#xff08;tar格式&#xff09;7.解压镜像8.查看镜像9.删除镜像10.查看容器11.删除容器12.停止运行容器13.构建镜像14.启动容器15…...

在typora中利用正则表达式,批量处理图片

一&#xff0c;png格式 在 Typora 中批量将 HTML 图片标签转换为简化的 Markdown 图片链接&#xff0c;且忽略 alt 和 style 属性&#xff0c;可以按照以下步骤操作&#xff1a; 打开 Typora 并加载你的文档。按下 Ctrl H&#xff08;在 Windows/Linux 上&#xff09;或 Cmd…...

构建LangChain应用程序的示例代码:33、如何在LangChain框架中使用HumanInputChatModel来模拟人工输入的聊天模型教程

除了HumanInputLLM&#xff0c;LangChain还提供了一个伪聊天模型类&#xff0c;可以用于测试、调试或教育目的。这允许您模拟对聊天模型的调用&#xff0c;并模拟如果人类接收到这些消息会如何响应。 在这篇笔记中&#xff0c;我们将介绍如何使用这个模型。 我们首先在代理中…...

虚拟机使用桥接模式网络配置

1、获取本机的网络详细信息 windowr 输入cmd 使用ipconfig -all 一样即可 在自己的虚拟机中设置网络 虚拟机中的ip ---------192.168.36.*&#xff0c;不要跟自己的本机ip冲突 网关-----------192.168.36.254 一样即可 dns -----------一样即可&#xff0c;我多写了几个&am…...

韩顺平0基础学java——第24天

p484-508 System类 常见方法 System.arrycopy&#xff08;src&#xff0c;0&#xff0c;dest&#xff0c;1,2&#xff09;&#xff1b; 表示从scr的第0个位置拷贝2个&#xff0c;放到目标数组索引为1的地方。 BigInteger和BigDecimal类 保存大整数和高精度浮点数 BigInte…...

leecode N皇后

深度优先遍历&#xff0c;然后回溯 思考得到的技巧&#xff1a; 1.先思考怎么用学过的数据结构解题 2.回溯不只需要知道最后一步&#xff0c;还需要知道之前所走的每一步 3. 棋盘的生成&#xff0c;.join([]),可以变列表为字符串 看题解得到的技巧&#xff1a; 1.妙啊&#xf…...

2024050802-重学 Java 设计模式《实战模板模式》

重学 Java 设计模式&#xff1a;实战模版模式「模拟爬虫各类电商商品&#xff0c;生成营销推广海报场景」 一、前言 黎明前的坚守&#xff0c;的住吗&#xff1f; 有人举过这样一个例子&#xff0c;先给你张北大的录取通知书&#xff0c;但要求你每天5点起床&#xff0c;12点…...

UNIAPP-ADB无线调试

ADB下载 SDK 平台工具版本说明 | Android Studio | Android Developers (google.cn) 环境变量配置 ADB版本查看 adb version 手机使用数据线连接到电脑 手机需要授权adb调试(开发人员选项里面) CMD输入命令 adb tcpip 5555 到了这一步你手机已经启动了adb服务了&…...

【stm32-新建工程】

stm32-新建工程 ■ 下载相关STM32Cube官方固件包&#xff08;F1&#xff0c;F4&#xff0c;F7&#xff0c;H7&#xff09;■ 1. ST官方搜索STM32Cube■ 2. 搜索 STM32Cube■ 3. 点击获取软件■ 4. 选择对应的版本下载■ 5. 输入账号信息■ 6. 出现下载弹框&#xff0c;等待下载…...

写点什么吧,作为STM32系列的开篇……

自从本科毕业后&#xff0c;就再也没碰过单片机…… 自从研究生毕业后&#xff0c;就再也没碰过硬件…… 自以为以前单片机玩的熟得很&#xff0c;特别是ATMEGA系列的AVR单片机&#xff0c;由于老师的推荐&#xff0c;本科时花了好多精力在这个系列单片机上面…… 本科时STM…...

代码随想录算法训练营第十天| 232.用栈实现队列|225. 用队列实现栈|20. 有效的括号|1047. 删除字符串中的所有相邻重复项

232.用栈实现队列 文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;栈的基本操作&#xff01; | LeetCode&#xff1a;232.用栈实现队列_哔哩哔哩_bilibili 知道要用两个栈实现&#xff0c;具体咋做忘了。队列的特性是先进先出&#xff0c;栈是先进后出&#xff0c;入队操…...

Pulsar 社区周报 | No.2024-06-07 | Apache Pulsar 新分支 3.3 版本发布

“ 各位热爱 Pulsar 的小伙伴们&#xff0c;Pulsar 社区周报更新啦&#xff01;这里将记录 Pulsar 社区每周的重要更新&#xff0c;每周发布。 ” 本期主题&#xff1a;Apache Pulsar 新分支 3.3 版本发布 Apache Pulsar 新分支 3.3 版本发布&#xff1a;Apache Pulsar 3.3.0[1…...

Go源码--sync库(3):sync.Pool(2)

回收 回收其实就是将 pool.local 置为空 可以让垃圾回收器回收 我们来看下 源码 func init() {// 将 poolCleanup 注册到 gc开始前的准备工作处理器中在 STW时执行runtime_registerPoolCleanup(poolCleanup) }这里注册了清理程序到GC前准备工作 也就是发生GC前需要执行这段代…...

Go如何在本地引用以及发布并引用自定义工具包

如何引用本地自定义工具包 我们首先要准备两个项目&#xff0c;分别为需要引入的工具包和当前项目。 myutils、myproject1. myutils为我们的项目1-工具包 package mypakgeimport "strings"func IsContains(s string) bool {if strings.Contains(s, "a")…...

使用了代理IP怎么还会被封?代理IP到底有没有效果

代理IP作为一种网络工具&#xff0c;被广泛应用于各种场景&#xff0c;例如网络爬虫、海外购物、规避地区限制等。然而&#xff0c;很多用户在使用代理IP的过程中却发现自己的账号被封禁&#xff0c;这让他们不禁产生疑问&#xff1a;使用了代理IP怎么还会被封&#xff1f;代理…...

在WSL2的Ubuntu中安装和使用Docker/Podman

在WSL2的Ubuntu中安装和使用Docker/Podman 0. 目的 当网络环境良好&#xff08;例如在公司&#xff0c;能直接访问Google等&#xff09;时&#xff0c; Docker/Podman 安装和使用不是问题。 当网络环境不佳&#xff08;例如在家里&#xff09;&#xff0c;要把 WSL2 的 Ubun…...

【WEEK16】Learning Objectives and Summaries【Spring Boot】【English Version】

Learning Objectives: Learning SpringBoot Learning Content: Reference video tutorials【狂神说Java】SpringBoot最新教程IDEA版通俗易懂Dubbo and Zookeeper Integration Learning time and outputs: Week16 TUE~FRI 2024.6.11【WEEK16】 【DAY2】Dubbo和Zookeeper集成第…...

AI大模型会让搜索引擎成为历史吗?

AI大模型会让搜索引擎成为历史吗&#xff1f; 随着人工智能技术的不断发展&#xff0c;AI大模型已经在许多领域展现出了强大的能力。从自然语言处理到图像识别&#xff0c;AI大模型的应用越来越广泛。在这种背景下&#xff0c;有人开始提出一个问题&#xff1a;AI大模型是否可…...

SpringSecurity6从入门到实战之SpringSecurity6自定义认证规则

SpringSecurity6从入门到实战之SpringSecurity6自定义认证规则 Spring Security 中默认所有的 http 请求都需要先认证通过后&#xff0c;才能访问。那么&#xff0c; 如何指定不需要认证就可以直接访问的资源呢&#xff1f;比如 用户的登录页面和注册页面&#xff0c;都是不需要…...

Java IO:byte[]、char[]、String三种对象的转换

String与byte[]对象进行转换时应指定编码格式&#xff0c;否则有潜在的乱码问题。byte[] b s.getBytes(“utf-8”); String s new String(b,“utf-8”); Java的IO库提供了专门的管道来对这3个对象进行读写&#xff0c;他们是StringReader/Writer CharArrayReader/Writer Byt…...

Elasticsearch:简化数据流的数据生命周期管理

作者&#xff1a;来自 Elastic Andrei Dan 今天&#xff0c;我们将探索 Elasticsearch 针对数据流的新数据管理系统&#xff1a;数据流生命周期&#xff0c;从版本 8.14 开始提供。凭借其简单而强大的执行模型&#xff0c;数据流生命周期可让n 你专注于数据生命周期的业务相关方…...

Verilog综合出来的图

Verilog写代码时需要清楚自己综合出来的是组合逻辑、锁存器还是寄存器。 甚至&#xff0c;有时写的代码有误&#xff0c;vivado不能识别出来&#xff0c;这时打开综合后的schematic简单查看一下是否综合出想要的结果。 比如&#xff1a;误将一个always模块重复一遍&#xff0c;…...

KT-H6测距模块标品,测距范围1500m,demo报价1000RMB,批量报价500RMB

激光测距传感器是一种用于测量距离的模块,通常由传感器和相关电子设备组成,测距模块可以集成到各种设备和系统中,以实现准确的测距和定位功能。KT-H6系列激光测距模块,为自主研发,激光波长905nm的激光器,专为热成像、夜视仪、无人机、安防、瞄具等产品定身打造,其优点是…...

C数据结构:排序

目录 冒泡排序 选择排序 堆排序 插入排序 希尔排序 快速排序 hoare版本 挖坑法 前后指针法 快速排序优化 三数取中法 小区间优化 快速排序非递归 栈版本 队列版本 归并排序 归并排序非递归 ​编辑 计数排序 各排序时间、空间、稳定汇总 冒泡排序 void Bub…...

【Python】在 Pandas 中使用 AdaBoost 进行分类

我们都找到天使了 说好了 心事不能偷藏着 什么都 一起做 幸福得 没话说 把坏脾气变成了好沟通 我们都找到天使了 约好了 负责对方的快乐 阳光下 的山坡 你素描 的以后 怎么抄袭我脑袋 想的 &#x1f3b5; 薛凯琪《找到天使了》 在数据科学和机器学习的工作…...

持续总结中!2024年面试必问 20 道并发编程面试题(九)

上一篇地址&#xff1a;持续总结中&#xff01;2024年面试必问 20 道并发编程面试题&#xff08;八&#xff09;-CSDN博客 十七、请解释什么是Callable和FutureTask。 Callable和FutureTask是Java并发API中的重要组成部分&#xff0c;它们用于处理可能产生结果的异步任务。 …...

Linux:线程池

Linux&#xff1a;线程池 线程池概念封装线程基本结构构造函数相关接口线程类总代码 封装线程池基本结构构造与析构初始化启动与回收主线程放任务其他线程读取任务终止线程池测试线程池总代码 线程池概念 线程池是一种线程使用模式。线程过多会带来调度开销&#xff0c;进而影…...

集成学习方法:Bagging与Boosting的应用与优势

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…...

JEnv-for-Windows 2 java版本工具的安装使用踩坑

0.环境 windows11pro 1.工具下载 GitHub - Mu-L/JEnv-for-Windows: Change your current Java version with one line or JEnv-for-Windows:Change your current Java version with one line - GitCode 2.执行jenv 初始化 2.1 问题&#xff1a;PowerShell 未对文件\XXX.…...

营销型网站设计建设公司/福州网站建设策划

Android设计模式系列(10)--SDK源码之原型模式 Android设计模式系列(9)--SDK源码之适配器模式 Android设计模式系列(8)--SDK源码之工厂方法模式 Android设计模式系列(7)--SDK源码之命令模式 Android设计模式系列(6)--SDK源码之享元模式 Android设计模式系列(5)--SDK源码之备忘录…...

gta5网站正在建设/推广类软文

我的背景 农村出身&#xff0c;兄弟姐妹多&#xff0c;父母重点培养&#xff0c;终于上了个不错的本科。大学第四年&#xff0c;眼看马上就毕业了&#xff0c;父亲患病去世了&#xff0c;给家庭带来巨大的打击&#xff0c;弟弟妹妹还在读书阶段&#xff0c;一家人断了生计&…...

js做网站登录界面/广告投放怎么做

Pytorch Note55 迁移学习实战猫狗分类 文章目录 Pytorch Note55 迁移学习实战猫狗分类加载数据集迁移学习网络定义训练模型的函数定义一个测试的函数1.AlexNet2.VGG163.ResNet184.DenseNet5.MobileNet V26.ShuffleNetV2总结全部笔记的汇总贴: Pytorch Note 快乐星球 在这一部…...

棋牌app开发价格表/seo技术服务外包公司

战舰少女R经验怎么计算呢?新版经验计算要注意些什么呢?下面小编为大家带来战舰少女R新版经验计算攻略,一起看看吧.我们以7-5~8-3(非航空战点)为基准&#xff0c;消耗20%油20%弹&#xff0c;S胜720经验。天国的 E6A E6B&#xff0c;消耗10%弹&#xff0c;S胜396经验。8-2B&…...

diy做网站/泰州seo排名扣费

英语学习/词典APP排行五排名&#xff1a; 1.网易有道词典&#xff08;单词查询翻译类软件&#xff09;. 2.百词斩(单词记忆类软件). 3.沪江开心词场. 4.金山词霸. 5.流利说英语&#xff08;英语口语APP&#xff09;. 个软件的分析&#xff1a; 1.对网易有单词典的分析&#xff…...

快速做网站服务好/深圳网络营销渠道

数据库批处理 批处理(batch)指的是一次操作中执行多条SQL语句&#xff0c;批处理相比于一次一次执行效率会提高很多。 批处理操作数据库的过程主要是分两步&#xff1a; 将要执行的SQL语句保存执行保存的SQL语句 如何实现批处理 Statement和PreparedStatement都支持批处理操…...