蓝桥杯刷题第四天

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);
     }
}
相关推荐
Trouvaille ~21 小时前
【优选算法篇】深入浅出链表算法:交换、重排与合并的终极策略
c++·算法·链表·面试·蓝桥杯·笔试·后端开发
Gavin-Wang3 天前
swift 代码规范
蓝桥杯·swift·代码规范
210Brian4 天前
蓝桥杯单片机学习笔记(十四) V2026大模板源代码
单片机·学习·蓝桥杯
此生决int5 天前
算法从入门到精通——位运算
数据结构·c++·算法·蓝桥杯
210Brian5 天前
蓝桥杯单片机学习笔记(十三) V2026大模板构筑(下)
单片机·学习·蓝桥杯
此生决int8 天前
算法从入门到精通——前缀和
c++·算法·蓝桥杯
2301_800895108 天前
第九届蓝桥杯国赛b组--备战国赛版h
蓝桥杯
WL_Aurora9 天前
备战蓝桥杯国赛【Day 18】
python·算法·蓝桥杯
210Brian9 天前
蓝桥杯单片机学习笔记(十二):V2026 大模板构建(上)
单片机·学习·蓝桥杯
WL_Aurora10 天前
备战蓝桥杯国赛【Day 17】
算法·蓝桥杯