蓝桥杯2023年第十四届Java省赛真题-矩形总面积

news2024/11/16 21:34:52

题目描述

平面上有个两个矩形 R1 和 R2,它们各边都与坐标轴平行。设 (x1, y1) 和(x2, y2) 依次是 R1 的左下角和右上角坐标,(x3, y3) 和 (x4, y4) 依次是 R2 的左下角和右上角坐标,请你计算 R1 和 R2 的总面积是多少?

注意:如果 R1 和 R2 有重叠区域,重叠区域的面积只计算一次。

输入格式

输入只有一行,包含 8 个整数,依次是:x1,y1,x2,y2,x3,y3,x4 和 y4

输出格式

一个整数,代表答案。

样例输入

复制

2 1 7 4 5 3 8 6

样例输出

复制

22

提示

样例中的两个矩形如图所示:

蓝桥杯2023年第十四届省赛真题-矩形总面积

对于 20% 的数据,R1 和 R2 没有重叠区域。

对于 20% 的数据,其中一个矩形完全在另一个矩形内部。

对于 50% 的数据,所有坐标的取值范围是 [0, 103 ]。

对于 100% 的数据,所有坐标的取值范围是 [0, 105 ]。

代码

import java.util.Scanner;
import static java.lang.Math.*;
//引入Math类,不用加Math前缀

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int x1 = scanner.nextInt(), y1 = scanner.nextInt();
        int x2 = scanner.nextInt(), y2 = scanner.nextInt();
        int x3 = scanner.nextInt(), y3 = scanner.nextInt();
        int x4 = scanner.nextInt(), y4 = scanner.nextInt();

        long area = (long)abs(x2 - x1) * abs(y2 - y1) + (long)abs(x4 - x3) * abs(y4 - y3);
        //单个输入不会int溢出,但int*int可能会造成溢出,因此面积转换long
        int width = max(0, min(x4,x2) - max(x1,x3));
        int height = max(0, min(y4,y2) - max(y1,y3));
        //如果最小的右上角坐标大于最大的左下角坐标,就证明有重复,否则重复面积为0
        long sumArea = area - (long)width*height;//注意这里需要加(long)进行转换,否则会产生long-int误差,导致有些案例通过不了
        System.out.println(sumArea);
    }
}

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

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

相关文章

设计模式深度解析:工厂方法模式与抽象工厂模式的深度对比

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 探索设计模式的魅力:工厂方法模式文章浏览阅读17k次,点赞105次&#xff0…

根据xlsx文件第一列的网址爬虫(selenium)

seleniumXpath 在与该ipynb文件同文件下新增一个111.xlsx,第一列放一堆需要爬虫的同样式网页 然后使用seleniumXpath爬虫 from selenium import webdriver from selenium.webdriver.common.by import By import openpyxl import timedef crawl_data(driver, url)…

2024年零基础自学网络安全/Web安全,看这一篇就够了

作为一个安全从业人员,我自知web安全的概念太过于宽泛,我本人了解的也并不够精深,还需要继续学习。 但又不想新入行的人走弯路,所以今天随手写写关于web安全的内容,希望对初次遇到web安全问题的同学提供帮助&#xff…

334.递增的三元子序列

题目&#xff1a;给你一个整数数组 nums &#xff0c;判断这个数组中是否存在长度为 3 的递增子序列。 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k &#xff0c;使得 nums[i] < nums[j] < nums[k] &#xff0c;返回 true &#xff1b;否则&#xff0c;…

Nginx+keepalived实现七层的负载均衡的高可用

目录 Nginxkeepalived实现七层的负载均衡的高可用 一、准备服务器 1、主机清单 2、配置安装nginx 所有的机器&#xff0c;关闭防火墙和selinux 3.安装nginx&#xff0c; 全部4台 二、部署负载均衡 1、修改nginx的配置文件&#xff0c;添加以下内容&#xff0c; 2、重启n…

APP自动化测试-Appium Inspector入门操作指南

上一篇博客APP自动化测试-入门示例-CSDN博客介绍了APP自动化测试的入门示例,下面详细介绍下Appium 实现的页面元素查看器工具:Appium Inspector的使用方法。 Appium Inspector简介 Appium Inspector 是 Appium 测试框架中的一个工具,用于可视化和调试移动应用程序的 UI 结…

污水处理厂重金属废水深度处理CH-90树脂处理系统

项目名称 广东某工业污水处理厂重金属废水深度处理工程项目 工艺选择 科海思重金属深度处理工艺 工艺原理 离子交换吸附 项目背景 随着环保要求不断提高&#xff0c;工业废水处理已成为众多企业的必修课。然而在工业生产中&#xff0c;如何有效处理含有重金属的废水成为…

结构化思维助力Prompt创作:专业化技术讲解和实践案例

最早接触 Prompt engineering 时, 学到的 Prompt 技巧都是: 你是一个 XX 角色… 你是一个有着 X 年经验的 XX 角色… 你会 XX, 不要 YY.. 对于你不会的东西, 不要瞎说!…对比什么技巧都不用, 直接像使用搜索引擎一样提问, 上面的技巧对于回复的效果确实有着 明显提升. 在看了 N…

【CSS面试题】外边距折叠的原因和解决

参考文章 什么时候出现外边距塌陷 外边距塌陷&#xff0c;也叫外边距折叠&#xff0c;在普通文档流中&#xff0c;在垂直方向上的2个或多个相邻的块级元素&#xff08;父子或者兄弟&#xff09;外边距合并成一个外边距的现象&#xff0c;不过只有上下外边距才会有塌陷&#x…

Xinstall CPA结算系统:精准追踪,轻松提升广告ROI

在如今的移动互联网时代&#xff0c;App推广已经成为各大企业获取用户、扩大市场份额的重要手段。然而&#xff0c;随着推广渠道的多样化&#xff0c;如何精准评估各渠道的效果、优化广告投放策略&#xff0c;以及提升用户体验&#xff0c;成为了摆在推广者面前的难题。 这时…

R语言绘制桑基图教程

原文链接&#xff1a;R语言绘制桑基图教程 写在前面 在昨天3月10日&#xff0c;我们在知乎、B站等分享了功能富集桑基气泡图的绘制教程。相关链接&#xff1a;NC|高颜值功能富集桑基气泡图&#xff0c;桑基气泡组合图。 确实&#xff0c;目前这个图在文章中出现的频率相对比较…

YOLOv8模型改进4【增加注意力机制GAM-Attention(超越CBAM,不计成本地提高精度)】

一、GAM-Attention注意力机制简介 GAM全称:Global Attention Mechanism。它被推出的时候有一个响亮的口号叫做:超越CBAM,不计成本地提高精度。由此可见,它的主要作用是为了目标检测精度的提高。 但是,大家都明白,具体效果怎么样,还得看具体的任务,我浅浅地试了一下,…

SpringBoot +WebSocket应用

我们今天不研究原理&#xff0c;只看应用。 什么是WebSocket WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455&#xff0c;并由RFC7936补充规范。WebSocket API也被W3C定为标准。 WebSocket使得客户端和服务器之间的数…

微信小程序开发系列(二十)·wxml语法·setData()修改对象类型数据、ES6 提供的展开运算符、delete和rest的用法

目录 1. 新增单个、多个属性 1.1 新增单个属性 1.2 新增多个属性 2. 修改单个、多个属性 2.1 修改单个属性 2.2 修改多个属性 3. 优化 3.1 ES6 提供的展开运算符 3.2 Object.assign()将多个对象合并为一个对象 4. 删除单个、多个属性 4.1 删除单个属性 …

Spring揭秘:Environment接口应用场景及实现原理!

内容概要 Environment接口提供了强大且灵活的环境属性管理能力&#xff0c;通过它&#xff0c;开发者能轻松地访问和配置应用程序运行时的各种属性&#xff0c;如系统属性、环境变量等。 同时&#xff0c;Environment接口还支持属性源的定制和扩展&#xff0c;使得开发者能根…

20240309web前端_第一周作业_完成电子汇款单

作业二&#xff1a;完成电子汇款单 成果展示: 完整代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…

算法-状数组与线段树-1264. 动态求连续区间和

题目 思路 线段树&树状数组 - AcWing算法学习笔记(14): 线段树 - 知乎 (zhihu.com) 代码 Python超时版 def calculate_subarray_sum(nums, a, b):return sum(nums[a-1:b])n, m map(int, input().split()) nums list(map(int, input().split()))for _ in range(m):op,…

社交媒体革新者:揭秘Facebook对在线互动的影响

1. Facebook的兴起与发展 Facebook由马克扎克伯格在哈佛大学宿舍创建&#xff0c;最初只是服务于哈佛大学学生的社交网络。然而&#xff0c;其后快速扩张到其他大学和全球&#xff0c;成为了全球最大的社交媒体平台之一。其发展历程不仅是数字时代的典范&#xff0c;也是创业成…

地球的纬度和中国在地球上大概位置

每次都忘记,做一个比较画一张图下次看见一下就能想起 (中国在北纬和南纬) N 表示北纬&#xff0c;范围是 0 到 90。北纬是正数 S 表示南纬&#xff0c;范围也是 0 到 -90&#xff0c;但南纬是负数 (中国在东经) E 表示东经&#xff0c;范围是 0 到 180 东经是正数 W 表示西经&a…

Nginx七层的负载均衡使用keepalived实现高可用

目录 一、环境准备 二、两台nginx服务器作为代理服务器,配置nginx的负载均衡 三、Keepalived实现调度器 Proxy-master 与 Proxy-slave机器同时操作安装 备份配置文件 编辑主Proxy-master的配置文件 编辑从 Proxy-slaver的配置文件 四、 启动KeepAlived&#xff08;主备…