标签:

8 0 0 1 0 0 1 1 1 0 2 1 2 0 3 1 3 8 0 0 2 0 0 2 2 2 1 2 3 2 1 3 3 3 0
2 imp
#include<map>
#include<string>
#include<cstring>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<queue>
#include<vector>
#include<iostream>
#include<algorithm>
#include<bitset>
#include<climits>
#include<list>
#include<iomanip>
#include<stack>
#include<set>
using namespace std;
struct point
{
int x,y;
point(){}
point(int x,int y)
{
this->x=x;
this->y=y;
}
};
bool vis[210][210];
bool cross(point one,point two,point three,point four)
{
return min(one.x,two.x)<=max(three.x,four.x)&&
min(one.y,two.y)<=max(three.y,four.y)&&
min(three.x,four.x)<=max(one.x,two.x)&&
min(three.y,four.y)<=max(one.y,two.y);
}
bool isin(point one,point two,point three,point four)
{
return min(one.x,two.x)<three.x&&three.x<max(one.x,two.x)&&
min(one.y,two.y)<three.y&&three.y<max(one.y,two.y)&&
min(one.x,two.x)<four.x&&four.x<max(one.x,two.x)&&
min(one.y,two.y)<four.y&&four.y<max(one.y,two.y);
}
int cnt(point one,point two,point three,point four)
{
int s1=abs((one.x-two.x)*(one.y-two.y));
int s2=abs((three.x-four.x)*(three.y-four.y));
if(isin(one,two,three,four))
return s1;
if(isin(three,four,one,two))
return s2;
if(cross(one,two,three,four))
return 0;
return s1+s2;
}
bool isok(point one,point two)
{
return one.x!=two.x&&one.y!=two.y&&
vis[min(one.x,two.x)][min(one.y,two.y)]&&
vis[min(one.x,two.x)][max(one.y,two.y)]&&
vis[max(one.x,two.x)][min(one.y,two.y)]&&
vis[max(one.x,two.x)][max(one.y,two.y)];
}
int main()
{
int n;
while(cin>>n&&n!=0)
{
vector<point>box;
memset(vis,0,sizeof(vis));
for(int i=0;i<n;i++)
{
int x,y;
cin>>x>>y;
box.push_back(point(x,y));
vis[x][y]=1;
}
int ans=0;
for(int i=0;i<n;i++)
{
point one,two,three,four;
one=box[i];
for(int j=i+1;j<n;j++)
{
two=box[j];
if(isok(one,two))
{
for(int ii=i+1;ii<n;ii++)
{
three=box[ii];
for(int jj=ii+1;jj<n;jj++)
{
four=box[jj];
if(isok(three,four))
ans=max(ans,cnt(one,two,three,four));
}
}
}
}
}
if(ans==0)
cout<<"imp"<<endl;
else
cout<<ans<<endl;
}
}标签:
原文地址:http://blog.csdn.net/stl112514/article/details/44118385