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

这篇文章介绍了如何使用Java编程解决矩阵重叠部分的面积计算问题,包括没有重叠时的简单面积求和,以及有重叠时通过Math.max和Math.min函数找到重叠区域并减去其面积的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 模拟和分类

1.先分类成矩阵是否重叠,没有重叠时矩阵的面积直接用左右两个坐标计算出来,当矩阵有重叠时就要进行查找重叠的矩阵坐标的左下标和右下标,根据Math.max和math.min来模拟出重叠的矩阵坐标。同时在计算时要注意计算的值会比较大,所以用long的类型不会数值溢出。

import java.util.Scanner;
  
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
       int x1=scanner.nextInt();
       int y1=scanner.nextInt();
       int x2=scanner.nextInt();
       int y2=scanner.nextInt();
       int x3=scanner.nextInt();
       int y3=scanner.nextInt();
       int x4=scanner.nextInt();
       int y4=scanner.nextInt();
//没有矩阵重叠时
       if(x2<x3||y2<y3){
           long s1c=x2-x1;
           long s1k=y2-y1;
         long  sum1=s1c*s1k;
           long s2c=x4-x3;
           long s2k=y4-y3;
         long  sum2=s2c*s2k;
         System.out.println(sum1+sum2);
       }else{  //当有矩阵重叠时
           //计算R1和R2的面积
             long s1c=x2-x1;
             long s1k=y2-y1;
//R1的面积
         long  sum1=s1c*s1k;
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值