hihocoder #1255 枚举

开始看错以为是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;  
} 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值