hdu 5129 (枚举) The E-pang Palace
题目;http://acm.hdu.edu.cn/showproblem.php?pid=5128、
给你n个点,问能否组成两个不相交的与坐标轴平行的矩形,能就输出两矩形的面积和,不能就输出一个字符串。
由于n的范围就30,所以就是枚举一下就行,先将能够组成的矩形找出来,然后再两两比较,注意的是有一个矩形包含另一个矩形的
情况,此时和就是大矩形的面积。写的时候细心一点就好。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std; struct point{
int x,y;
}a[]; int ju[][],dir1[][]; int max(int x,int y){return x>y?x:y;} bool cmp(point a,point b)
{
if (a.x==b.x) return a.y<b.y;
return a.x<b.x;
} int check(int *x,int *y){
if (a[x[]].x<a[y[]].x&&a[x[]].x>a[y[]].x&&a[x[]].y>a[y[]].y&&a[x[]].y<a[y[]].y)
return ;
return ;
} int main()
{
int n,i,q,k,u;
while (~scanf("%d",&n)&&n)
{
int ans=;
for (i= ; i<=n ; i++) scanf("%d%d",&a[i].x,&a[i].y);
sort(a+,a+n+,cmp);
for (i= ; i<=n ; i++){
int j=i;
while (a[i].x==a[j].x) j++;
for (k=i+ ; k<j ; k++){
for (u=j ; u<=n ; u++){
if (a[u].y==a[i].y){
for (q=u+ ; q<=n ; q++){
if (a[q].y==a[k].y){
ju[ans][]=i;
ju[ans][]=k;
ju[ans][]=u;
ju[ans++][]=q;
}
}
}
}
}
}
/*for (i=0 ; i<ans ; i++) {
for (int j=0 ; j<4 ; j++)
cout<<ju[i][j];
cout<<endl;
}*/
int sum=;
if (ans<) {puts("imp");continue;}
for (i= ; i<ans ; i++){
memset(dir1,,sizeof(dir1));
int ar1=(a[ju[i][]].x-a[ju[i][]].x)*(a[ju[i][]].y-a[ju[i][]].y);
for (k=a[ju[i][]].x ; k<=a[ju[i][]].x ; k++){
for (q=a[ju[i][]].y ; q<=a[ju[i][]].y ; q++)
dir1[k][q]=;
}
for (int j=i+ ; j<ans ; j++){
int flag=;
for (k=a[ju[j][]].x ; k<=a[ju[j][]].x ; k++){
for (q=a[ju[j][]].y ; q<=a[ju[j][]].y ; q++){
if (dir1[k][q]==) flag=;
}
}
if (flag==||check(ju[i],ju[j])||check(ju[j],ju[i])){
int ar2=ar1;
ar2+=(a[ju[j][]].x-a[ju[j][]].x)*(a[ju[j][]].y-a[ju[j][]].y);
if (check(ju[i],ju[j])) ar2=ar1;
if (check(ju[j],ju[i])) ar2-=ar1;
sum=max(ar2,sum);
}
}
}
if (sum==) puts("imp");
else printf("%d\n",sum);
}
return ;
}
hdu 5129 (枚举) The E-pang Palace的更多相关文章
- hdu 4770(枚举 + dfs爆搜)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4770 思路:由于最多只有15个".",可以直接枚举放置的位置,然后判断是否能够全部 ...
- hdu 3006 枚举集合能够产生的全部并集的集合
http://acm.hdu.edu.cn/showproblem.php? pid=3006 刚买的CHERRY键盘 手感真好 可惜不习惯 写代码老是打错.一个题写了一上午,都是各种按错键DEBUG ...
- hdu 4282 枚举,非二分
http://acm.hdu.edu.cn/showproblem.php?pid=4282 对于方程X^Z + Y^Z + XYZ = K,已知K求此方程解的个数,其中要求X<Y,Z>1 ...
- HDU 5225 枚举
题目链接: hdu:http://acm.hdu.edu.cn/showproblem.php?pid=5225 bc(中文):http://bestcoder.hdu.edu.cn/contests ...
- hdu 4681(枚举+dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4681 思路:首先预处理出串C在A,B中的所有的位置,然后从前向后求一次最长公共子序列,从后向前求一次最 ...
- hdu 4421(枚举+2-sat)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4421 思路:枚举32位bit,然后2-sat判断可行性,这里给出2-sat矛盾关系构图: 1.a&am ...
- HDU 5965 枚举模拟 + dp(?)
ccpc合肥站的重现...一看就觉得是dp 然后强行搞出来一个转移方程 即 根据第i-1列的需求和i-1 i-2列的枚举摆放 可以得出i列摆放的种类..加了n多if语句...最后感觉怎么都能过了..然 ...
- 字符串(AC自动机):HDU 5129 Yong Zheng's Death
Yong Zheng's Death Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/O ...
- hdu 5228 枚举
题意:在前往ZJOI2015一试的路上,ZCC在同Fsygd打德州扑克时输光了所有的筹码.不过ZCC最近学会了一些黑技术.现在,他能够在游戏过程中更换任何他想要更换的牌.ZCC想要通过更换尽量少的牌得 ...
随机推荐
- unity3d API知识点随记
1.transform.translate是增加transform面板相应的数值x,y,z是以本地坐标系为方向:transform.transformdirection是以世界坐标系为方向,可以去测试 ...
- BOS物流项目第十三天
教学计划 1.Quartz概述 a. Quartz介绍和下载 b. 入门案例 c. Quartz执行流程 d. cron表达式 2.在BOS项目中使用Quartz创建定时任务 3.在BOS项目中使用J ...
- SAP 费用
SAP在华真相:天价收费与用户之灾 SAP真的是企业实施ERP系统的最佳选择吗? 画皮SAP-世界管理软件公司的中国真相 你知道SAP吗?哦,知道,满大街都是嘛,S-P-A,SPA.做出上述回答的是一 ...
- yii Nav:widget 配置参数encodeLabels
echo Nav::widget([ 'options' => ['class' => 'navbar-nav navbar-right'], 'encodeLabels' => f ...
- jdk 11特性
JDK 11 总共包含 17 个新的 JEP ,分别为: 181: Nest-Based Access Control(基于嵌套的访问控制) 309: Dynamic Class-File Const ...
- Mysql5.6 导出sql文件数据导入到5.7
由于在linux安装了mysql5.7,在需要导入数据时发现报错,说时间默认值不能为0,因为之前用的是mysql5.6 的版本.经过网上百度查找方法,发现是mysql的sql_mode值的问题,于是就 ...
- java 递归 树形
//菜单树形结构 public JSONArray treeMenuList(JSONArray menuList, int parentId) { JSONArray childMenu = new ...
- 解题4(NumberToEnglish )
题目描述 Jessi初学英语,为了快速读出一串数字,编写程序将数字转换成英文: 如22:twenty two,123:one hundred and twenty three. 说明: 数字为正整数, ...
- elastic search 查询
eelastic search主要有两种查询方式,一种是查询字符串,一种是请求体(json格式)查询. 查询字符串: 查询字符串的功能相对简单,使用容易. 比如GET http://localhost ...
- spark算子之DataFrame和DataSet
前言 传统的RDD相对于mapreduce和storm提供了丰富强大的算子.在spark慢慢步入DataFrame到DataSet的今天,在算子的类型基本不变的情况下,这两个数据集提供了更为强大的的功 ...