矩形总面积(第十四届蓝桥杯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);
    }
}
相关推荐
菜鸟小九8 小时前
JUC补充(ThreadLocal、completableFuture)
java·开发语言
Seven979 小时前
两小时入门Sentinel
java
tongluowan0079 小时前
Java中atomic底层原理 - ABA 问题与解决方案
java·juc·atomic
无关86889 小时前
Spring Boot 项目标准化部署打包实战
java·spring boot·后端
jay神9 小时前
基于微信小程序课外创新实践学分认定系统
java·spring boot·小程序·vue·毕业设计
Gauss松鼠会10 小时前
GaussDB(DWS) GUC参数修改、查看
java·数据库·sql·数据库开发·gaussdb
AIFQuant10 小时前
Java 对接全球股票实时报价:高可用架构与异常处理
java·开发语言·websocket·金融·架构·股票api
未若君雅裁10 小时前
Spring Bean 作用域、线程安全与生命周期
java·安全·spring
奋斗的小乌龟10 小时前
langchain4j笔记-智能体系统01
java·笔记
wh_xia_jun10 小时前
用pom 的test 配置 与 jacoco
java·ide·intellij-idea