之前作业七改一下就是这个了
(离散化) 关键词确认
不会写函数的痛,其实是不会指针来规避风险,但最终肯定逃不掉.....
(快慢指针什么的巴拉巴拉)
#include <stdio.h>
#include<stdlib.h>
int Max(int x, int y) {
return x > y ? x : y;
}
int Min(int x, int y) {
return x > y ? y : x;
}
//void solve() {
// int x1, y1, x2, y2, x3, y3, x4, y4;
// scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
// scanf("%d%d%d%d", &x3, &y3, &x4, &y4);
// int X1, Y1, X2, Y2, S,s,flag=0;
// X1 = Max(Min(x1, x2), Min(x3, x4));
// X2 = Min(Max(x1, x2), Max(x3, x4));
// Y1 = Max(Min(y1, y2), Min(y3, y4));
// Y2 = Min(Max(y1, y2), Max(y3, y4));
// S=abs(x2-x1)*abs(y2-y1)+abs(x4-x3)*abs(y4-y3);
// s=abs(X2-X1)*abs(Y2-Y1);
// if(X1 < X2 && Y1 < Y2) flag=1;
// if(flag==1){
// printf("%d\n",S-s);
// }
// else printf("%d\n",S);
//}
int main() {
int x1, y1, x2, y2, x3, y3, x4, y4;
while(scanf("%d%d%d%d", &x1, &y1, &x2, &y2)!=EOF)
{
// scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
scanf("%d%d%d%d", &x3, &y3, &x4, &y4);
int X1, Y1, X2, Y2, S,s,flag=0;
X1 = Max(Min(x1, x2), Min(x3, x4));
X2 = Min(Max(x1, x2), Max(x3, x4));
Y1 = Max(Min(y1, y2), Min(y3, y4));
Y2 = Min(Max(y1, y2), Max(y3, y4));
S=abs(x2-x1)*abs(y2-y1)+abs(x4-x3)*abs(y4-y3);
s=abs(X2-X1)*abs(Y2-Y1);
if(X1 < X2 && Y1 < Y2) flag=1;
if(flag==1){
printf("%d\n",S-s);
}
else printf("%d\n",S);
}
// solve();
return 0;
}