CCF-Csp算法能力认证, 202303-1田地丈量(C++)含解析

前言

推荐书目,在这里推荐那一本《算法笔记》(胡明),需要PDF的话,链接如下

「链接:https://pan.xunlei.com/s/VNvz4BUFYqnx8kJ4BI4v1ywPA1?pwd=6vdq# 提取码:6vdq”复制这段内容后打开手机迅雷App,查看更方便」

希望有大神能够提供改良意见,敬礼!

---------------------------------------------------------------------------------------------------------------------------------

题目

【题目描述】

【输入格式】

【输出格式】

【样例 1 输入】

4 10 10
0 0 5 5
5 -2 15 3
8 8 15 15
-2 10 3 15

【样例 1 输出】

44
 

【样例 1 解释】

【样例 2 输入】

【样例 2 输出】

【样例 2 解释】

【样例 3 输入】

【样例 3 输出】

【样例 3解释】

【子任务】

思路分析:

本题的思想比较简单,主要借助解析的那张图,还有x1<x2,y1<y2这个点

X1<x2,y1<y2就意味着 只要小的x比设定的x还大就不重合,大的x比设定的x还小就不重合,以此类推就可以得到y的不想交的条件。

减去不相交的,剩余的都是相交的,这个时候根据前面确定的x1,x2,y1,y2的范围来进一步进行确定,确定其是否在设定的范围里面,如果在范围内,就可以使用自己本身的值作为面积计算的参数,如果不在范围内,就需要使用给定的范围作为重合的边界。

最后计算面积并累加即可。

代码也很短。求大佬提供更好的办法。

代码如下:

#include <bits/stdc++.h>//万能头文件 
using namespace std;int main() {int n=0;//n是地的块数 int myx=0;//顿顿的x坐标 int myy=0; //y //const int N=10000;cin>>n>>myx>>myy; int result =0;//存储结果 int x1=0,x2=0,y1=0,y2=0;for(int i=0;i<n;i++){//输入 cin>>x1>>y1>>x2>>y2;if(x1>=myx||y1>=myy||x2<=0||y2<=0){//界限之外 ,因为x1<x2,y1<y2,就可以通过最小的大于,最大的小于来判断是否有交集了。 continue;//没有相交的直接跳过 }x1=(x1>=0? x1:0);//经过筛选的都是有相交的,直接判断点的位置在哪,在图形外计算面积用图形最大值,在图形内计算面积用点坐标 x2=(x2<=myx?x2:myx);y1=(y1>=0?y1:0);y2=(y2<=myy?y2:myy);result+=(x2-x1)*(y2-y1); }cout<<result<<endl;return 0;
}

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

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

相关文章

Mysql:GROUP BY 子句中可以使用SELECT 子句中定义别名

示例 GROUP BY 子句中可以使用SELECT 子句中定义别名 SELECT DATE(add_time) AS addTime, COUNT(*) AS total FROM user GROUP BY addTime ORDER BY addTime

【Cocos】保存数据到本地的几种方式

cocos保存数据到本地 在Cocos引擎中&#xff0c;保存数据到本地可以通过以下几种方式实现&#xff1a; 1、使用cc.sys.localStorage进行本地存储&#xff1a; 这是一个基于浏览器的LocalStorage API的简单封装&#xff0c;适用于小型数据的本地持久化存储。 // 保存数据 cc.…

内网安全综合管理系统是什么 | 好用的那我王安全管理系统有哪些

内网安全综合管理系统是指一种集成终端管理、网络管理、内容管理、资产管理等功能的综合性安全管理系统。它主要对内网上的主机进行统一安全管理&#xff0c;包括对网络主机用户操作实施监督控制&#xff0c;并对主机中的安全软件&#xff08;如主机入侵监测系统、主机防火墙和…

python将两张图片对齐

目录 需要对齐的照片如下&#xff1a; 源码&#xff1a; 结果&#xff1a; 需要对齐的照片如下&#xff1a; 源码&#xff1a; import cv2 import numpy as np from matplotlib import pyplot as plt# 读取两张图片 imgA cv2.imread(./out/out/3.png) imgB cv2.imread(./…

vue中箭头函数和普通函数的区分(同时和java做对比)

目录 定义和使用this的不同scriptjava VUE中箭头函数和普通函数的用处和Java类部类的区别 定义和使用 首先要在脑子里划分 1.定义时 2.使用时 this的不同 script 箭头函数&#xff1a;定义时确定&#xff0c;不变 普通函数&#xff1a;使用时确定&#xff0c;改变 比如定时…

Redis如何保证数据一致性?

Redis如何保证数据一致性&#xff1f; Redis通常作为持久层数据库&#xff08;例如MySQL&#xff09;的缓存层&#xff0c;如果缓存或者数据库数据发生改变&#xff0c;如何保证双方的数据是一致的&#xff1f; 这其实是要分情况讨论滴&#xff0c;对数据一致性不同的要求有不…

Tomcat、MySQL、Redis最大支持说明

文章目录 一、Tomcat二、MySQL三、Redis1、最大连接数2、TPS、QPS3、key和value最大支持 一、Tomcat 查看SpringBoot内置Tomcat的源码&#xff0c;如下&#xff1a; 主要就是看抽象类AbstractEndpoint&#xff0c;可以看到默认的核心线程数10&#xff0c;最大线程数200 通过…

docker学习笔记(三)搭建NFS服务实验

目录 什么是NFS 简单架构​编辑 一.搭建nfs服务器 二.新建共享目录和网页文件 三.设置共享目录 四&#xff1a;创建使用nfs共享目录的卷 五&#xff1a;创建容器使用nfs-web-1卷 六&#xff1a;测试访问 七&#xff1a;是否同步测试 什么是NFS NFS 服务器&#xff1a;ne…

autodl 上 使用 LLaMA-Factory 微调 中文版 llama3

autodl 上 使用 LLaMA-Factory 微调 中文版 llama3 环境准备创建虚拟环境下载微调工具 LLaMA-Factory下载 llama3-8B开始微调测试微调结果模型合并后导出vllm 加速推理 环境准备 autodl 服务器&#xff1a; https://www.autodl.com/console/homepage/personal 基本上充 5 块钱…

美团二面:SpringBoot读取配置优先级顺序是什么?

引言 Spring Boot作为一种轻量级的Java应用程序框架&#xff0c;以其开箱即用、快速搭建新项目的特性赢得了广大开发者的青睐。其核心理念之一就是简化配置过程&#xff0c;使开发者能够快速响应复杂多变的生产环境需求。为了实现这一点&#xff0c;Spring Boot支持丰富的外部…

java mysql 两个 update 语句 相差1毫秒 执行,如何避免死锁

解决“Deadlock found when trying to get lock; try restarting transaction”这个问题&#xff0c;可以采取以下几种方法&#xff1a; 事务优化&#xff1a;尽量减小事务的范围和持续时间&#xff0c;使事务更简短&#xff0c;这样可以减少持有锁的时间&#xff0c;从而降低死…

静态代理IP是否支持HTTP和HTTPS?

静态代理IP通常是在服务器上进行配置的&#xff0c;可以支持HTTP和HTTPS协议。无论是使用HTTP还是HTTPS&#xff0c;静态代理IP都可以通过配置服务器的代理设置来实现对网络请求的转发和代理。 静态代理IP支持哪些协议 静态代理IP支持的协议包括但不限于HTTP、HTTPS、FTP、So…

接口加密解决方案:Python的各种加密实现

01 前言 在现代软件开发中&#xff0c;接口测试已经成为了不可或缺的一部分。随着互联网的普及&#xff0c;越来越多的应用程序都采用了接口作为数据传输的方式。接口测试的目的是确保接口的正确性、稳定性和安全性&#xff0c;从而保障系统的正常运行。 在接口测试中&#…

Spring Security初探

url说明方法/login/oauth/authorize无登录态时跳转到/authentication/require&#xff0c;有登录态时跳转到/loginorg.springframework.security.oauth2.provider.endpoint.AuthorizationEndpoint#authorize/authentication/require自己写的用于重定向到登录页面的urlcn.merryy…

市场公关人的日常工作是什么?

作为一个从事多年的市场公关人&#xff0c;每到别人放假的时候就是我们最忙的时候&#xff0c;手上几个KOL项目安排探店&#xff0c;同时还要筹备品牌VIP活动。扎堆的事情每天忙得睁眼就是工作。 基本上来说&#xff0c;公关人是挺苦逼的&#xff0c;并没有大家看上去那么光鲜…

Leetcode 199:二叉树的右视图

给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 思路&#xff1a;其实就是寻找二叉树每一层的最右边节点。 加一个判断语句即可&#xff0c;判断当前节点是否为最右侧节点。 pub…

Julia编程语言基本语法

1、Julia读取/保存csv数据 读取&#xff1a; using CSV df CSV.read("mydata.csv")保存为csv格式&#xff1a; # 创建 DataFrame df DataFrame(height h, discharge q) # 将 DataFrame 写入 CSV 文件 CSV.write("output.csv", df)报错&#xff1a;Un…

Ruby中的字符串转换方法

在Ruby中&#xff0c;你可以使用各种方法来转换字符串。下面是一些常用的方法&#xff0c;当然选择哪种适用的方法还得更具具体项目来做调整。日常使用中下面的错误也是比较常见的&#xff0c;看看我们怎么处理哈。 1、问题背景 在Python中&#xff0c;内置的数据结构都有一个…

统计中的oracle和population什么意思?

oracle 在统计学的上下文中&#xff0c;“oracle” 这个词并不是一个标准术语&#xff0c;至少不像在数据库技术中那样具有特定且广泛认可的定义。不过&#xff0c;“oracle” 一词在一般意义上指的是提供智慧、知识或绝对正确答案的源头&#xff0c;源于古希腊宗教中能够传达…

成功解决:Could not install packages due to an OSError

成功解决&#xff1a;Could not install packages due to an OSError: 错误&#xff1a; ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: C:\Users\XIAODA~1\AppData\Local\Temp\pip-install-yeyhod79\opencv-contribpython_fb…