蓝桥杯刷题第四天

1.纯暴力白嫖分

java 复制代码
import java.util.*;

public class Main {
     public static void main (String []args) {
    	 Scanner a = new Scanner(System.in);
    	 int x1,x2,x3,x4,y1,y2,y3,y4;
    	 x1 =a.nextInt(); 
    	 y1 =a.nextInt();
    	 x2 =a.nextInt();
    	 y2 =a.nextInt();
    	 x3 =a.nextInt();
    	 y3 =a.nextInt();
    	 x4 =a.nextInt();
    	 y4 =a.nextInt();
    	 int area1 = (x2-x1)*(y2-y1);
    	 int area2 = (x4-x3)*(y4-y3);
    	 System.out.println(area1+area2);
     }
}

2.穷举(我发现情况有点多穷举不完大概有个至少10种我得拿张草稿纸验算一下)

java 复制代码
import java.util.*;

public class Main {
     public static void main (String []args) {
    	 Scanner a = new Scanner(System.in);
    	 long x1,x2,x3,x4,y1,y2,y3,y4;
    	 long area1,area2,n;
    	 long area3;//重合部分
    	 x1 =a.nextLong(); 
    	 y1 =a.nextLong();
    	 x2 =a.nextLong();
    	 y2 =a.nextLong();
    	 x3 =a.nextLong();
    	 y3 =a.nextLong();
    	 x4 =a.nextLong();
    	 y4 =a.nextLong();
    	 area1 = (x2-x1)*(y2-y1);
    	 area2 = (x4-x3)*(y4-y3);
    	 long a1 = Math.max(x1, x3);
    	 long a2 = Math.min(x2, x4);
    	 long b1 = Math.max(y1, y3);
    	 long b2 = Math.min(y2, y4);
    	 long n1 = area1+area2-(a2-a1)*(b2-b1);
//    	 //两个矩形不重合且不包含
//    	 if(x3>x2&&y3>y2) {
//    		 n = area1+area2;
//    	 }
//    	 else if(x4<x1&&y4<y1){
//    		 n = area1+area2;
//    	 }
//    	 else if(x3<x2 && x3>x1 && x4>x2 && y3>y1 && y3<y2 && y4>y2) {
//    		 n = area1+area2-(x2-x3)*(y2-y3);
//    	 }
//    	 else if(x4<x2 && x4>x1 && x3<x1 && y4>y1 && y4<y2 && y3<y1) {
//    		 n = area1+area2-(x4-x1)*(y4-y1);
//    	 }
//    	 else if(x3<x2 && x3>x1 && x4>x2 && y3<y1 && y4<y2 && y4>y1) {
//    		 n = area1+area2-(x4-x1)*(y4-y1);
//    	 }
//    	 else if(x4<x2 && x4>x1 && x3<x1 && y4>y1 && y4<y2 && y3<y1) {
//    		 n = area1+area2-(x4-x1)*(y4-y1);
//    	 }
//    	 else {
//    		 if(area1>area2) {
//    			 n = area1;
//    		 }
//    		 else
//    			 n = area2;
//    	 }
    	 System.out.println(n1);
     }
}

3.巧法

java 复制代码
import java.util.*;

public class Main {
     public static void main (String []args) {
    	 Scanner a = new Scanner(System.in);
    	 long x1,x2,x3,x4,y1,y2,y3,y4;
    	 long area1,area2,n;
    	 long area3;//重合部分
    	 x1 =a.nextLong(); 
    	 y1 =a.nextLong();
    	 x2 =a.nextLong();
    	 y2 =a.nextLong();
    	 x3 =a.nextLong();
    	 y3 =a.nextLong();
    	 x4 =a.nextLong();
    	 y4 =a.nextLong();
    	 area1 = (x2-x1)*(y2-y1);
    	 area2 = (x4-x3)*(y4-y3);
    	 long a1 = Math.max(x1, x3);
    	 long a2 = Math.min(x2, x4);
    	 long b1 = Math.max(y1, y3);
    	 long b2 = Math.min(y2, y4);
    	 long n1 = area1+area2-(a2-a1)*(b2-b1);
    	 System.out.println(n1);
     }
}
相关推荐
a东方青2 小时前
蓝桥杯 2024 C++国 B最小字符串
c++·职场和发展·蓝桥杯
咚咚轩1 天前
蓝桥杯12届国B 纯质数
蓝桥杯
qystca2 天前
P8803 [蓝桥杯 2022 国 B] 费用报销
蓝桥杯
wuqingshun3141592 天前
蓝桥杯 10. 全球变暖
c++·算法·职场和发展·蓝桥杯
咚咚轩3 天前
蓝桥杯13届国B 完全日期
蓝桥杯·枚举·日期问题
逐光沧海3 天前
数据结构基础--蓝桥杯备考
数据结构·c++·算法·蓝桥杯
吃个早饭3 天前
2025年第十六届蓝桥杯大赛软件赛C/C++大学B组题解
c语言·c++·蓝桥杯
ErikTse_4 天前
【官方题解】StarryCoding 入门教育赛 2 | acm | 蓝桥杯 | 新手入门
职场和发展·蓝桥杯
嗨信奥4 天前
蓝桥杯青少 图形化编程(Scratch)每日一练——校门外的树
青少年编程·蓝桥杯
不見星空4 天前
2025年第十六届蓝桥杯软件赛省赛C/C++大学A组个人解题
c语言·c++·蓝桥杯