#include<iostream>
using namespace std;
struct po{
int x,y;
}p[5];
int x[25],y[25];
int a[5],b[5];
bool thing0(){
int sum=0;
for(int i=1;i<=4;i++)
{
int cx=0,cy=0;
for(int j=1;j<=4;j++){
if(i==j)continue;
if(p[i].x==p[j].x)cx++;
if(p[i].y==p[j].y)cy++;
}
if(cx==1&&cy==1)sum++;
}
if(sum==1)return true;
return false;
}
bool thing1(){
int sum=0;
for(int i=1;i<=4;i++)
{
int cx=0,cy=0;
for(int j=1;j<=4;j++){
if(i==j)continue;
if(p[i].x==p[j].x)cx++;
if(p[i].y==p[j].y)cy++;
}
if(cx==1&&cy==1)sum++;
}
if(sum==2)return true;
return false;
}
bool thing2(){
int ccx=0,ccy=0;
for(int i=1;i<=4;i++)
{
int cx=0,cy=0;
for(int j=1;j<=4;j++){
if(i==j)continue;
if(p[i].x==p[j].x)cx++;
if(p[i].y==p[j].y)cy++;
}
if(ccx<cx)ccx=cx;
if(ccy<cy)ccy=cy;
}
if(ccx==0&&ccy==2)return true;
return false;
}
bool thing3(){
int ccx=0,ccy=0;
for(int i=1;i<=4;i++)
{
int cx=0,cy=0;
for(int j=1;j<=4;j++){
if(i==j)continue;
if(p[i].x==p[j].x)cx++;
if(p[i].y==p[j].y)cy++;
}
if(ccx<cx)ccx=cx;
if(ccy<cy)ccy=cy;
}
if(ccx==2&&ccy==0)return true;
return false;
}
bool thing4(){
int ccx=0,ccy=0;
for(int i=1;i<=4;i++)
{
int cx=0,cy=0;
for(int j=1;j<=4;j++){
if(i==j)continue;
if(p[i].x==p[j].x)cx++;
if(p[i].y==p[j].y)cy++;
}
if(ccx<cx)ccx=cx;
if(ccy<cy)ccy=cy;
}
if(ccx==1&&ccy==2)return true;
return false;
}
bool thing5(){
int ccx=0,ccy=0;
for(int i=1;i<=4;i++)
{
int cx=0,cy=0;
for(int j=1;j<=4;j++){
if(i==j)continue;
if(p[i].x==p[j].x)cx++;
if(p[i].y==p[j].y)cy++;
}
if(ccx<cx)ccx=cx;
if(ccy<cy)ccy=cy;
}
if(ccx==2&&ccy==1)return true;
return false;
}
int main(){
int i,j,k;
int tempx[4],tempy[4];
while(cin>>p[1].x>>p[1].y>>p[2].x>>p[2].y>>p[3].x>>p[3].y>>p[4].x>>p[4].y){
int tempx[4],tempy[4];
memset(x,0,sizeof(x));
memset(y,0,sizeof(y));
x[p[1].x]++; x[p[2].x]++; x[p[3].x]++; x[p[4].x]++;
y[p[1].y]++;y[p[2].y]++;y[p[3].y]++;y[p[4].y]++;
for(i=1;i<=4;i++){
a[i]=x[p[i].x];
b[i]=x[p[i].y];
}
sort(a,a+4);
sort(b,b+4);
if((a[4]==4)||(b[4]==4)||(a[4]==2&&a[3]==2)||(b[4]==2&&b[3]==2)||(a[4]==2&&b[4]==2&&thing1())){
//直接输出
//cout<<endl;
}
else if(thing2()){
if(p[1].x==p[2].x&&p[1].x==p[3].x){//4
int yc=0;
for(i=1;i<=3;i++){
yc=yc>p[i].y?yc:p[i].y;
}
p[4].y=yc;
}
else if(p[1].x==p[2].x&&p[1].x==p[4].x){//3
int yc=0;
for(i=1;i<=4;i++){
if(i==3)continue;
yc=yc>p[i].y?yc:p[i].y;
}
p[3].y=yc;
}
else if(p[1].x==p[4].x&&p[1].x==p[3].x){//2
int yc=0;
for(i=1;i<=4;i++){
if(i==2)continue;
yc=yc>p[i].y?yc:p[i].y;
}
p[2].y=yc;
}
else if(p[3].x==p[2].x&&p[4].x==p[3].x){//1
int yc=0;
for(i=1;i<=4;i++){
if(i==1)continue;
yc=yc>p[i].y?yc:p[i].y;
}
p[1].y=yc;
}
}
else if(thing3()){
int xc=0;
if(p[1].y==p[2].y&&p[1].y==p[3].y){//4
for(i=1;i<=3;i++){
xc=xc>p[i].x?xc:p[i].x;
}
p[4].x=xc;
}
else if(p[1].y==p[2].y&&p[1].y==p[4].y){//3
for(i=1;i<=4;i++){
if(i==3)continue;
xc=xc>p[i].x?xc:p[i].x;
}
p[3].x=xc;
}
else if(p[1].y==p[4].y&&p[1].y==p[3].y){//2
for(i=1;i<=4;i++){
if(i==2)continue;
xc=xc>p[i].x?xc:p[i].x;
}
p[2].x=xc;
}
else if(p[3].y==p[2].y&&p[4].y==p[3].y){//1
for(i=1;i<=4;i++){
if(i==1)continue;
xc=xc>p[i].x?xc:p[i].x;
}
p[1].x=xc;
}
}
else if(thing4()){
int ax[5];
for(i=1;i<=4;i++){
ax[i]=p[i].x;
}
sort(ax,ax+4);
for(i=1;i<=4;i++){
if(ax[2]==p[i].x)break;
}
}
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。