今日では、彼のチームメイトは、それを共有し、私は非常に良いアイデアを与えました
第一矩形2で同定された4つの点を考えると二つの矩形交差しない場合、それは注文する必要があり、座標xまたはyの1つのまたはいずれかの行が、直線状に整列され、これがどこにあるエリアと二つの領域と
第二:交差点場合、第一の領域を見つけ、交差点の面積を減算4内の2つの特定の点の間の2つの交点は、後で交差を知って、それによって、順序付けられた発現矩形
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
int t;
cin >> t;
for(int i = 0; i < t; i++){
ll x[4], y[4];
scanf("%lld %lld %lld %lld %lld %lld %lld %lld", &x[0], &y[0], &x[1], &y[1], &x[2], &y[2], &x[3], &y[3]);
ll k = (y[2] - y[3]) * (x[3] - x[2]) + (y[0]-y[1]) * (x[1] - x[0]);
if(x[1] <= x[2] || x[0] >= x[3] || y[1] >= y[2] || y[0] <= y[3]){
printf("%lld\n", k);
}
else {
sort(x, x+4);
sort(y, y+4);
printf("%lld\n", k - (x[2] - x[1]) * (y[2] - y[1]));
}
}
return 0;
}