开始看错以为是4个
三个长方形组合只有两种情况,一条直线或“1+2”:
#include<iostream>
#include<map>
#include<string>
#include<algorithm>
#include<fstream>
#include<cmath>
#include<vector>
#include<stack>
#include<map>
#include<math.h>
using namespace std;
#define lch(i) ((i)<<1)
#define rch(i) ((i)<<1|1)
#define sqr(i) ((i)*(i))
#define pii pair<int,int>
#define mp make_pair
#define FOR(i,b,e) for(int i=b;i<=e;i++)
#define FORE(i,b,e) for(int i=b;i>=e;i--)
#define ms(a) memset(a,0,sizeof(a))
const int maxnum =100003;
const int INF = 200000001;
int rx[4][2],ry[4][2];
int cmp(const void* a,const void* b){
return *(int*)a-*(int*)b;
}
bool check(int x1,int y1,int x2,int y2,int x3,int y3){
if(x1==x2&&x1==x3)
return true;
if(x1+x3==x2&&y1==y3)
return true;
return false;
}
bool acheck(){
FOR(i,0,3)
FOR(j,0,3){
if(j==i)continue;
FOR(k,0,3){
if(k==j||k==i)continue;
FOR(a,0,1){
FOR(b,0,1){
FOR(c,0,1){
if(check(rx[i][a],ry[i][a],rx[j][b],ry[j][b],rx[k][c],ry[k][c]))
return true;
}
}
}
}
}
return false;
}
int main()
{
#ifdef _DEBUG_
fstream fin("G:/1.txt");
#else
#define fin cin
#endif
int t;
fin>>t;
while(t--){
FOR(i,0,3){
fin>>rx[i][0]>>ry[i][0];
rx[i][1]=ry[i][0];
ry[i][1]=rx[i][0];
}
if(acheck())
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return 0;
}