HDU 5128 The E-pang Palace(2014亚洲区广州站现场赛)
来源:互联网 发布:nba火箭数据 编辑:程序博客网 时间:2024/04/28 20:39
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5128
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<string>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<map>#include<set>#include<list>#define mem(x,y)memset(x,y,sizeof(x))#define max(a,b)(a)>(b)?(a):(b)#define min(a,b)(a)<(b)?(a):(b)#define inf 0x1f1f1f1f#define eps 1e-10#define M 1000007using namespace std;const int maxn=1005;struct node{ int x,y;}c1[35];struct cyx{ int x1,y1,x2,y2,x3,y3,x4,y4; int area;}c[100005];struct qxw{ int x,y;};qxw q[5];int cmp(node a,node b){ if(a.y==b.y) return a.x<b.x; else return a.y<b.y;}int cmp1(cyx a1,cyx b1){ return a1.area>b1.area;}int fun(cyx a,cyx b){ int i,j; int maxx1=max(a.x1,a.x4); int minx1=min(a.x1,a.x4); int maxy1=max(a.y1,a.y4); int miny1=min(a.y1,a.y4); int s=0; q[0].x=b.x1,q[0].y=b.y1; q[1].x=b.x2,q[1].y=b.y2; q[2].x=b.x3,q[2].y=b.y3; q[3].x=b.x4,q[3].y=b.y4; int f=0; for(i=0;i<4;i++) { if(q[i].x>=minx1&&q[i].x<=maxx1&&q[i].y>=miny1&&q[i].y<=maxy1) { if((q[i].x==minx1&&q[i].y>=miny1&&q[i].y<=maxy1)|| (q[i].x==maxx1&&q[i].y>=miny1&&q[i].y<=maxy1)|| (q[i].y==miny1&&q[i].x>=minx1&&q[i].x<=maxx1)|| (q[i].y==maxy1&&q[i].x>=minx1&&q[i].x<=maxx1)) { f=1; break; } else { s++; } } } if(f) { return 0; } if(s==4) { return 2; } else if(s==1||s==2||s==3) { return 0; } else { return 1; }}int main(){ int i,j,k,l,flag,n,s,f; while(~scanf("%d",&n)) { flag=-1; if(n==0)break; for(i=0;i<n;i++) scanf("%d %d",&c1[i].x,&c1[i].y); sort(c1,c1+n,cmp); f=0; for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { for(int k=j+1;k<n;k++) { for(int k1=k+1;k1<n;k1++) { //printf("%d %d %d %d %d %d %d %d\n",c1[i].x,c1[i].y,c1[j].x,c1[j].y,c1[k].x,c1[k].y,c1[k1].x,c1[k1].y); if(c1[i].y==c1[j].y&&c1[i].x==c1[k].x&&c1[k].y==c1[k1].y&&c1[k1].x==c1[j].x) { //printf("*\n"); c[f].x1=c1[i].x; c[f].y1=c1[i].y; c[f].x2=c1[j].x; c[f].y2=c1[j].y; c[f].x3=c1[k].x; c[f].y3=c1[k].y; c[f].x4=c1[k1].x; c[f].y4=c1[k1].y; c[f].area=(c1[j].x-c1[i].x)*(c1[k].y-c1[i].y); f++; } } } } } sort(c,c+f,cmp1); for(int i=0;i<f;i++) { for(int j=i+1;j<f;j++) { if(fun(c[i],c[j])==1) { s=c[i].area+c[j].area; if(s>flag) flag=s; } if(fun(c[i],c[j])==2) { s=max(c[i].area,c[j].area); if(s>flag) flag=s; } } } if(flag==-1) printf("imp\n"); else printf("%d\n",flag); } return 0;}
0 0
- HDU 5128 The E-pang Palace(2014亚洲区广州站现场赛)
- 2014广州亚洲现场赛/hdu 5128 The E-pang Palace(计算几何:暴力枚举)
- hdu 5128 The E-pang Palace 2014ACM/ICPC亚洲区广州站
- HDU 5128 The E-pang Palace (排序+暴力)2014 ICPC 广州站现场赛
- HDU 5218 The E-pang Palace (简单几何—2014广州现场赛)
- 2014广州站 B - The E-pang Palace(暴力)
- HDU 5128 The E-pang Palace
- HDU 5128 The E-pang Palace
- HDU.5128 The E-pang Palace
- HDU5128 The E-pang Palace(2014年广州赛区)
- HDU 5128 The E-pang Palace(枚举,几何)
- HDU 5128 The E-pang Palace(暴力)
- HDU 5128 The E-pang Palace(暴力瞎搞)
- hdu 5128 The E-pang Palace(几何暴力)
- HDU 5128 The E-pang Palace(暴力)
- hdu 5128 The E-pang Palace 大力判矩形相交
- The E-pang Palace
- hdu5128 The E-pang Palace
- fragment实现Tab效果
- Python中的闭包
- 陶哲轩实分析 7.2 节习题试解
- HDU 5572 2015 上海区域赛 A题 计算几何(碰撞反弹)
- javascript 正则表达式
- HDU 5128 The E-pang Palace(2014亚洲区广州站现场赛)
- jquery中attr和prop的区别
- javamail邮件发送
- 详解c++指针的指针和指针的引用
- 【Codeforces 715C&716E】Digit Tree【树分治】
- [Android] Retrofit2.0 GET和POST方式请求
- javascript中面向对象的程序设计——继承
- cubemx导致No target conncted解决方法
- useradd 命令详解