矩形总面积(第十四届蓝桥杯JavaB组省赛真题)

测试用例范围比较大,所以全部用long类型,如果用int类型只能通过60%,建议在内存和运行时间允许的情况下,比赛题都用long。

重点在于计算相交的面积,这里找的两个相交点是左上角(m1,n1)和右下角(m2,n2)

java 复制代码
import java.util.*;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        long x1 = scan.nextInt();
        long y1 = scan.nextInt();
        long x2 = scan.nextInt();
        long y2 = scan.nextInt();
        long x3 = scan.nextInt();
        long y3 = scan.nextInt();
        long x4 = scan.nextInt();
        long y4 = scan.nextInt();

        long m1 = Math.max(Math.min(x1, x2), Math.min(x3, x4));
        long n1 = Math.min(Math.max(y1, y2), Math.max(y3, y4));
        long m2 = Math.min(Math.max(x1, x2), Math.max(x3, x4));
        long n2 = Math.max(Math.min(y1, y2), Math.min(y3, y4));

        long sum = 0;
        if (m1 < m2 && n1 > n2)
            sum = (m1 - m2) * (n1 - n2);
        long res = Math.abs((y2 - y1) * (x2 - x1)) + Math.abs((y3 - y4) * (x3 - x4)) + sum;
        System.out.println(res);
    }
}
相关推荐
列星随旋6 分钟前
基于 Redis + Lua,实现“多维度原子限流”(令牌桶 + 滑动窗口)
java·redis·lua
一定要AK11 分钟前
Spring 核心容器从入门到精通
java·后端·spring
RInk7oBjo15 分钟前
spring boot3--自动配置与手动配置
java·spring boot·后端
最初的↘那颗心17 分钟前
LangChain4j核心能力:AiService、Prompt注解与结构化输出实战
java·大模型·结构化输出·langchain4j·aiservice
lixia0417mul219 分钟前
简单的RAG知识库问答
java
MacroZheng21 分钟前
又一款企业级文件管理系统诞生了!支持万能文件在线预览,太香了!
java·spring boot·后端
云烟成雨TD22 分钟前
Spring AI 1.x 系列【25】结构化输出案例演示
java·人工智能·spring
鱼鳞_23 分钟前
Java学习笔记_Day23(HashMap)
java·笔记·学习
hua_ban_yu23 分钟前
新版本 idea 如何设置热部署
java·ide·intellij-idea