蓝桥杯刷题第四天

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);
     }
}
相关推荐
十二7 天前
【洛谷题解】P1083 [NOIP 2012 提高组] 借教室(二分答案 + 差分)
数据结构·c++·算法·蓝桥杯
青少儿编程课堂9 天前
蓝桥杯青少组省考(11/9报名截止·11/22开考)+电子学会图形化考级+信息素养大赛:校园极速跑酷闯关解析
蓝桥杯·scratch·图形化编程·信息素养大赛·电子学会考级
UIU11415 天前
P16237 [蓝桥杯 2026 省 B] 应急布线
数据结构·c++·算法·蓝桥杯
爱聊灵光的维C16 天前
C语言初阶:关于函数设计的详细讲解和注意事项
c语言·开发语言·青少年编程·蓝桥杯·学习方法
GG.WinGel19 天前
三元组中心问题
java·数据结构·算法·青少年编程·蓝桥杯
GG.WinGel20 天前
质数数目(蓝桥杯练习题)
java·数据结构·算法·青少年编程·蓝桥杯
Tsuki_tl21 天前
【优选算法 — 双指针】经典例题题解+算法总结
算法·蓝桥杯·力扣·刷题·双指针·1024程序员节·优选算法
十二23 天前
【洛谷题解】P1115 最大子段和(前缀和 + 维护最小前缀)
数据结构·c++·算法·蓝桥杯
青少儿编程课堂25 天前
2026蓝桥杯青少组:校园飞鸟穿越赛解析
蓝桥杯·scratch·少儿编程·图形化编程·蓝桥杯青少组
aqiu1111111 个月前
蓝桥杯真题复盘:Fibonacci 数列与黄金分割(C++ 算法详解)
c++·算法·蓝桥杯